Esempio n. 1
0
 private static function create_subcommand($parent, $name, $class_name, $method)
 {
     $docparser = new \WP_CLI\DocParser($method->getDocComment());
     if (!$name) {
         $name = $docparser->get_tag('subcommand');
     }
     if (!$name) {
         $name = $method->name;
     }
     $method_name = $method->name;
     $when_invoked = function ($args, $assoc_args) use($class_name, $method_name) {
         call_user_func(array(new $class_name(), $method_name), $args, $assoc_args);
     };
     return new Subcommand($parent, $name, $docparser, $when_invoked);
 }
Esempio n. 2
0
 /**
  * Create a new Subcommand instance.
  *
  * @param mixed $parent The new command's parent Composite command
  * @param string $name Represents how the command should be invoked
  * @param mixed $callable A callable function or closure, or class name and method
  * @param object $reflection Reflection instance, for doc parsing
  * @param string $class A subclass of WP_CLI_Command
  * @param string $method Class method to be called upon invocation.
  */
 private static function create_subcommand($parent, $name, $callable, $reflection)
 {
     $docparser = new \WP_CLI\DocParser($reflection->getDocComment());
     if (is_array($callable)) {
         if (!$name) {
             $name = $docparser->get_tag('subcommand');
         }
         if (!$name) {
             $name = $reflection->name;
         }
     }
     $when_invoked = function ($args, $assoc_args) use($callable) {
         if (is_array($callable)) {
             call_user_func(array(new $callable[0](), $callable[1]), $args, $assoc_args);
         } else {
             call_user_func($callable, $args, $assoc_args);
         }
     };
     return new Subcommand($parent, $name, $docparser, $when_invoked);
 }