本文整理汇总了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);
}