partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

ConfigVisitor.php (1690B)


      1 <?php
      2 
      3 namespace PartKeepr\SetupBundle\Visitor;
      4 
      5 class ConfigVisitor extends \PHPParser_NodeVisitorAbstract
      6 {
      7     private static $configValues = [];
      8 
      9     public function enterNode(\PHPParser_Node $node)
     10     {
     11         if ($node instanceof \PHPParser_Node_Expr_MethodCall) {
     12             if ($node->var->name == 'container' && $node->name == 'setParameter') {
     13                 if (array_key_exists(0, $node->args) && array_key_exists(1, $node->args)) {
     14                     if ($node->args[1]->value instanceof \PHPParser_Node_Scalar_String) {
     15                         self::$configValues[$node->args[0]->value->value] = $node->args[1]->value->value;
     16                     } elseif ($node->args[1]->value instanceof \PHPParser_Node_Scalar_LNumber) {
     17                         self::$configValues[$node->args[0]->value->value] = $node->args[1]->value->value;
     18                     } elseif ($node->args[1]->value instanceof \PHPParser_Node_Expr_ConstFetch) {
     19                         switch (strtolower($node->args[1]->value->name->parts[0])) {
     20                             case 'true':
     21                                 $value = true;
     22                                 break;
     23                             case 'false':
     24                                 $value = false;
     25                                 break;
     26                             case 'null':
     27                                 $value = null;
     28                                 break;
     29                         }
     30                         self::$configValues[$node->args[0]->value->value] = $value;
     31                     }
     32                 }
     33             }
     34         }
     35     }
     36 
     37     public static function getConfigValues()
     38     {
     39         return self::$configValues;
     40     }
     41 }