Beispiel #1
0
 /**
  * Returns a parameter holder as an array.
  *
  * @param sfParameterHolder $parameterHolder A sfParameterHolder instance
  * @param boolean $removeObjects when set to true, objects are removed. default is false for BC.
  *
  * @return array The parameter holder as an array
  */
 public static function flattenParameterHolder($parameterHolder, $removeObjects = false)
 {
     $values = array();
     if ($parameterHolder instanceof sfNamespacedParameterHolder) {
         foreach ($parameterHolder->getNamespaces() as $ns) {
             $values[$ns] = array();
             foreach ($parameterHolder->getAll($ns) as $key => $value) {
                 $values[$ns][$key] = $value;
             }
             ksort($values[$ns]);
         }
     } else {
         foreach ($parameterHolder->getAll() as $key => $value) {
             $values[$key] = $value;
         }
     }
     if ($removeObjects) {
         $values = self::removeObjects($values);
     }
     ksort($values);
     return $values;
 }
$t->is($ph->get('foo[bars][]'), $ph->get('foo[bars]'), '->get() returns an array even if you omit the []');
// ->getNames()
$t->diag('->getNames()');
$ph = new sfParameterHolder();
$ph->set('foo', 'bar');
$ph->set('yourfoo', 'bar');
$ph->set('myfoo', 'bar', 'symfony/mynamespace');
$t->is($ph->getNames(), array('foo', 'yourfoo'), '->getNames() returns all key names for the default namespace');
$t->is($ph->getNames('symfony/mynamespace'), array('myfoo'), '->getNames() takes a namepace as its first argument');
// ->getNamespaces()
$t->diag('->getNamespaces()');
$ph = new sfParameterHolder();
$ph->set('foo', 'bar');
$ph->set('yourfoo', 'bar');
$ph->set('myfoo', 'bar', 'symfony/mynamespace');
$t->is($ph->getNamespaces(), array($ph->getDefaultNamespace(), 'symfony/mynamespace'), '->getNamespaces() returns all non empty namespaces');
// ->getAll()
$t->diag('->getAll()');
$parameters = array('foo' => 'bar', 'myfoo' => 'bar');
$ph = new sfParameterHolder();
$ph->add($parameters);
$ph->set('myfoo', 'bar', 'symfony/mynamespace');
$t->is($ph->getAll(), $parameters, '->getAll() returns all parameters from the default namespace');
// ->has()
$t->diag('->has()');
$ph = new sfParameterHolder();
$ph->set('foo', 'bar');
$ph->set('myfoo', 'bar', 'symfony/mynamespace');
$t->is($ph->has('foo'), true, '->has() returns true if the key exists');
$t->is($ph->has('bar'), false, '->has() returns false if the key does not exist');
$t->is($ph->has('myfoo'), false, '->has() returns false if the key exists but in another namespace');