本文整理匯總了PHP中Symfony\Component\Yaml\Yaml::enablePhpParsing方法的典型用法代碼示例。如果您正苦於以下問題:PHP Yaml::enablePhpParsing方法的具體用法?PHP Yaml::enablePhpParsing怎麽用?PHP Yaml::enablePhpParsing使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Symfony\Component\Yaml\Yaml
的用法示例。
在下文中一共展示了Yaml::enablePhpParsing方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testEmbededPhp
public function testEmbededPhp()
{
$filename = __DIR__ . '/Fixtures/embededPhp.yml';
Yaml::enablePhpParsing();
$parsed = Yaml::parse($filename);
$this->assertEquals(array('value' => 6), $parsed);
}
示例2: parse
function parse()
{
Yaml::enablePhpParsing();
# parse yaml datas
$this->rawData = Yaml::parse($this->resource, true, true);
$config_values = array_merge($this->rawData);
# pour chaque fixture
foreach ($config_values['fixtures'] as $entity_def) {
# obtenir la classe
$class = $entity_def['entity'];
/* @note @php changer une propriété privée d'un champ */
# instancier la classe
//$prototype = unserialize(sprintf('O:%d:"%s":0:{}', strlen($class), $class));
$entity = new $class();
//clone $prototype;
$ref = new ReflectionObject($entity);
# pour chaque champ du fixture
foreach ($entity_def['fields'] as $field => $value) {
# si la valeur est un tableau
if (is_array($value)) {
# si la valeur est du time datetime
if (isset($value['datetime'])) {
$value = \DateTime::createFromFormat('U', $value['datetime']);
} else {
$tmp = new ArrayCollection();
# pour chaque valeur du tableau
foreach ($value as $name) {
# réferencer l'entité déja instanciée dans le tableau
$tmp[] = $this->entities[$name];
}
$value = $tmp;
}
# si valeur entourée de % % , réferencer l'entité correspondante
} elseif (preg_match("#^\\%(?P<name>.*)\\%\$#", $value, $matches) > 0) {
$value = $this->entities[$matches['name']];
}
$field = $ref->getProperty($field);
$field->setAccessible(true);
# affecter la valeur du champ à la proprièter
$field->setValue($entity, $value);
}
$name = isset($entity_def['name']) ? $entity_def['name'] : uniqid();
$this->entities[$name] = $entity;
}
# retourner les entitées
return $this->entities;
}
示例3: getGenerator
protected function getGenerator($generatorYaml)
{
Yaml::enablePhpParsing(true);
$yaml = Yaml::parse($generatorYaml);
return $this->container->get($yaml['generator']);
}
示例4: loadQueueConfig
protected function loadQueueConfig()
{
if ($this->queueConfigFile) {
$this->logger->log("Loading config file: {$this->queueConfigFile}");
Yaml::enablePhpParsing();
try {
$this->queueConfig = Yaml::parse($this->queueConfigFile);
} catch (ParseException $e) {
$msg = "Invalid config file: " . $e->getMessage();
$this->logger->log($msg);
throw new RuntimeException($msg, 0, $e);
}
}
if (!$this->queueConfig) {
$this->logger->log('No configuration loaded.');
$this->queueConfig = array();
}
}
示例5: parseYaml
protected function parseYaml($file)
{
Yaml::enablePhpParsing(true);
$this->yaml_datas = Yaml::parse($file);
}