• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Zend_Server_Method_Definition类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Zend_Server_Method_Definition的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Server_Method_Definition类的具体用法?PHP Zend_Server_Method_Definition怎么用?PHP Zend_Server_Method_Definition使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Zend_Server_Method_Definition类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: addMethod

 /**
  * Add method to definition
  *
  * @param  array|Zend_Server_Method_Definition $method
  * @param  null|string $name
  * @return Zend_Server_Definition
  * @throws Zend_Server_Exception if duplicate or invalid method provided
  */
 public function addMethod($method, $name = null)
 {
     if (is_array($method)) {
         // require_once 'Zend/Server/Method/Definition.php';
         $method = new Zend_Server_Method_Definition($method);
     } elseif (!$method instanceof Zend_Server_Method_Definition) {
         // require_once 'Zend/Server/Exception.php';
         throw new Zend_Server_Exception('Invalid method provided');
     }
     if (is_numeric($name)) {
         $name = null;
     }
     if (null !== $name) {
         $method->setName($name);
     } else {
         $name = $method->getName();
     }
     if (null === $name) {
         // require_once 'Zend/Server/Exception.php';
         throw new Zend_Server_Exception('No method name provided');
     }
     if (!$this->_overwriteExistingMethods && array_key_exists($name, $this->_methods)) {
         // require_once 'Zend/Server/Exception.php';
         throw new Zend_Server_Exception(sprintf('Method by name of "%s" already exists', $name));
     }
     $this->_methods[$name] = $method;
     return $this;
 }
开发者ID:JaroslavRamba,项目名称:ex-facebook-bundle,代码行数:36,代码来源:Definition.php


示例2: addFunctionsAsMethods

 /**
  * Here we need to be able to add new functions to the call list
  *
  * @param array $functions
  */
 public function addFunctionsAsMethods($functions)
 {
     foreach ($functions as $key => $function) {
         // do a reflection on the function interface
         $reflection = new Zend_Server_Reflection_Function(new ReflectionFunction($function));
         // build up the method definition
         $definition = new Zend_Server_Method_Definition();
         $definition->setName($key)->setCallback($this->_buildCallback($reflection))->setMethodHelp($reflection->getDescription())->setInvokeArguments($reflection->getInvokeArguments());
         // here is where the parameters really get built up
         foreach ($reflection->getPrototypes() as $proto) {
             $prototype = new Zend_Server_Method_Prototype();
             $prototype->setReturnType($this->_fixType($proto->getReturnType()));
             foreach ($proto->getParameters() as $parameter) {
                 $param = new Zend_Server_Method_Parameter(array('type' => $this->_fixType($parameter->getType()), 'name' => $parameter->getName(), 'optional' => $parameter->isOptional()));
                 if ($parameter->isDefaultValueAvailable()) {
                     $param->setDefaultValue($parameter->getDefaultValue());
                 }
                 $prototype->addParameter($param);
             }
             $definition->addPrototype($prototype);
         }
         // finally add the new function definition to the available call stack
         $this->_table->addMethod($definition, $key);
     }
 }
开发者ID:rboyatt,项目名称:mahara,代码行数:30,代码来源:locallib.php


示例3: _dispatch

 /**
  * Dispatch method
  *
  * @param  Zend_Server_Method_Definition $invocable
  * @param  array $params
  * @return mixed
  */
 protected function _dispatch(Zend_Server_Method_Definition $invocable, array $params)
 {
     $callback = $invocable->getCallback();
     $type = $callback->getType();
     if ('function' == $type) {
         $function = $callback->getFunction();
         return call_user_func_array($function, $params);
     }
     $class = $callback->getClass();
     $method = $callback->getMethod();
     if ('static' == $type) {
         return call_user_func_array(array($class, $method), $params);
     }
     $object = $invocable->getObject();
     if (!is_object($object)) {
         $invokeArgs = $invocable->getInvokeArguments();
         if (!empty($invokeArgs)) {
             $reflection = new ReflectionClass($class);
             $object = $reflection->newInstanceArgs($invokeArgs);
         } else {
             $object = new $class();
         }
     }
     return call_user_func_array(array($object, $method), $params);
 }
开发者ID:ravi2jdesign,项目名称:solvingmagento_1.7.0,代码行数:32,代码来源:Abstract.php


示例4: _getReturnType

 /**
  * Get method return type
  *
  * @param  Zend_Server_Reflection_Function_Abstract $method
  * @return string|array
  */
 protected function _getReturnType(Zend_Server_Method_Definition $method)
 {
     $return = array();
     foreach ($method->getPrototypes() as $prototype) {
         $return[] = $prototype->getReturnType();
     }
     if (1 == count($return)) {
         return $return[0];
     }
     return $return;
 }
开发者ID:yonetici,项目名称:pimcore-coreshop-demo,代码行数:17,代码来源:Server.php


示例5: testPassingOptionsToConstructorShouldSetObjectState

 public function testPassingOptionsToConstructorShouldSetObjectState()
 {
     $options = array('name' => 'foo.bar', 'callback' => array('function' => 'foo', 'type' => 'function'), 'prototypes' => array(array('returnType' => 'struct', 'parameters' => array('string', 'array'))), 'methodHelp' => 'foo bar', 'object' => new stdClass(), 'invokeArguments' => array('foo', array('bar', 'baz')));
     $definition = new Zend_Server_Method_Definition($options);
     $test = $definition->toArray();
     $this->assertEquals($options['name'], $test['name']);
     $this->assertEquals($options['callback'], $test['callback']);
     $this->assertEquals($options['prototypes'], $test['prototypes']);
     $this->assertEquals($options['methodHelp'], $test['methodHelp']);
     $this->assertEquals($options['object'], $test['object']);
     $this->assertEquals($options['invokeArguments'], $test['invokeArguments']);
 }
开发者ID:SustainableCoastlines,项目名称:loveyourwater,代码行数:12,代码来源:DefinitionTest.php



注:本文中的Zend_Server_Method_Definition类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Zend_Server_Reflection类代码示例发布时间:2022-05-23
下一篇:
PHP Zend_Server_Definition类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap