当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_Server_Method_Definition::addPrototype方法代码示例

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


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

示例1: 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

示例2: _buildSignature

 /**
  * Build a method signature
  *
  * @param  Zend_Server_Reflection_Function_Abstract $reflection
  * @param  null|string|object $class
  * @return Zend_Server_Method_Definition
  * @throws Zend_Server_Exception on duplicate entry
  */
 protected function _buildSignature(Zend_Server_Reflection_Function_Abstract $reflection, $class = null)
 {
     $ns = $reflection->getNamespace();
     $name = $reflection->getName();
     $method = empty($ns) ? $name : $ns . '.' . $name;
     if (!$this->_overwriteExistingMethods && $this->_table->hasMethod($method)) {
         #require_once 'Zend/Server/Exception.php';
         throw new Zend_Server_Exception('Duplicate method registered: ' . $method);
     }
     $definition = new Zend_Server_Method_Definition();
     $definition->setName($method)->setCallback($this->_buildCallback($reflection))->setMethodHelp($reflection->getDescription())->setInvokeArguments($reflection->getInvokeArguments());
     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);
     }
     if (is_object($class)) {
         $definition->setObject($class);
     }
     $this->_table->addMethod($definition);
     return $definition;
 }
开发者ID:ravi2jdesign,项目名称:solvingmagento_1.7.0,代码行数:37,代码来源:Abstract.php


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