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


PHP Zend_CodeGenerator_Php_Parameter类代码示例

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


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

示例1: fromReflection

 public static function fromReflection(Zend_Reflection_Method $reflectionMethod)
 {
     $method = new self();
     $method->setSourceContent($reflectionMethod->getContents(false));
     $method->setSourceDirty(false);
     if ($reflectionMethod->getDocComment() != '') {
         $method->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($reflectionMethod->getDocblock()));
     }
     $method->setFinal($reflectionMethod->isFinal());
     if ($reflectionMethod->isPrivate()) {
         $method->setVisibility(self::VISIBILITY_PRIVATE);
     } elseif ($reflectionMethod->isProtected()) {
         $method->setVisibility(self::VISIBILITY_PROTECTED);
     } else {
         $method->setVisibility(self::VISIBILITY_PUBLIC);
     }
     $method->setStatic($reflectionMethod->isStatic());
     $method->setName($reflectionMethod->getName());
     foreach ($reflectionMethod->getParameters() as $reflectionParameter) {
         $method->setParameter(Zend_CodeGenerator_Php_Parameter::fromReflection($reflectionParameter));
     }
     $body = $reflectionMethod->getBody();
     $body2 = str_replace("\n\n", "\n", $body);
     $body2 = preg_replace("|^\n\\s{4}|muU", "\n", $body2);
     $body2 = preg_replace("|^\\s{4}|muU", "", $body2);
     //    $body2 = str_replace(' ', '.', $body2);
     //dmDebug::kill($body, "\n".$body2);
     $method->setBody($body2);
     return $method;
 }
开发者ID:theolymp,项目名称:diem,代码行数:30,代码来源:Method.php

示例2: fromReflection

    /**
     * fromReflection()
     *
     * @param Zend_Reflection_Parameter $reflectionParameter
     * @return Zend_CodeGenerator_Php_Parameter
     */
    public static function fromReflection(Zend_Reflection_Parameter $reflectionParameter)
    {
        $param = new Zend_CodeGenerator_Php_Parameter();
        $param->setName($reflectionParameter->getName());

        if($reflectionParameter->isArray()) {
            $param->setType('array');
        } else {
            $typeClass = $reflectionParameter->getClass();
            if($typeClass !== null) {
                $param->setType($typeClass->getName());
            }
        }

        $param->setPosition($reflectionParameter->getPosition());

        if($reflectionParameter->isOptional()) {
            $param->setDefaultValue($reflectionParameter->getDefaultValue());
        }
        $param->setPassedByReference($reflectionParameter->isPassedByReference());

        return $param;
    }
开发者ID:nhp,项目名称:shopware-4,代码行数:29,代码来源:Parameter.php

示例3: setParameter

 /**
  * setParameter()
  *
  * @param Zend_CodeGenerator_Php_Parameter|array $parameter
  * @return Zend_CodeGenerator_Php_Method
  */
 public function setParameter($parameter)
 {
     if (is_array($parameter)) {
         $parameter = new Zend_CodeGenerator_Php_Parameter($parameter);
         $parameterName = $parameter->getName();
     } elseif ($parameter instanceof Zend_CodeGenerator_Php_Parameter) {
         $parameterName = $parameter->getName();
     } else {
         require_once 'Zend/CodeGenerator/Php/Exception.php';
         throw new Zend_CodeGenerator_Php_Exception('setParameter() expects either an array of method options or an instance of Zend_CodeGenerator_Php_Parameter');
     }
     $this->_parameters[$parameterName] = $parameter;
     return $this;
 }
开发者ID:Cryde,项目名称:sydney-core,代码行数:20,代码来源:Method.php

示例4: testFromReflection_Generate

 /**
  * @dataProvider dataFromReflection_Generate
  * @param string $methodName
  * @param string $expectedCode
  */
 public function testFromReflection_Generate($methodName, $expectedCode)
 {
     $reflParam = $this->getFirstReflectionParameter($methodName);
     $codeGenParam = Zend_CodeGenerator_Php_Parameter::fromReflection($reflParam);
     $this->assertEquals($expectedCode, $codeGenParam->generate());
 }
开发者ID:omusico,项目名称:logica,代码行数:11,代码来源:ParameterTest.php

示例5: createMethodLoad

 /**
  * @see models_ClassGenerator_Defaults_Interface::createMethodLoad
  */
 public function createMethodLoad()
 {
     $resultMethod = new Zend_CodeGenerator_Php_Method();
     $resultMethod->setName('load');
     $resultMethod->setStatic(true);
     $resultMethod->setVisibility(Zend_CodeGenerator_Php_Property::VISIBILITY_PUBLIC);
     //---------------------- Parameters ---------------------
     $paramZendDbObj = new Zend_CodeGenerator_Php_Parameter();
     $paramZendDbObj->setName('zendDbObj');
     $paramZendDbObj->setType('Zend_Db_Adapter_Abstract');
     $resultMethod->setParameter($paramZendDbObj);
     //Pkeys
     $pkeyAttributes = $this->getPersistenceInformation()->getPkeyAttributes();
     if (!empty($pkeyAttributes)) {
         foreach ($pkeyAttributes as $pkeyAttribute) {
             /* @var $pkeyAttribute Zend_CodeGenerator_Php_Property */
             $paramPkey = new Zend_CodeGenerator_Php_Parameter();
             $paramPkey->setName('par' . ucfirst($pkeyAttribute->getName()));
             $paramPkey->setType(Model_ClassGenerator_PersistenceInformation::getType($pkeyAttribute));
             $resultMethod->setParameter($paramPkey);
         }
     }
     //--------------------------------------------------------
     //Pkeys
     $body = 'if(!isset(' . $this->_provideInstancesKeySelectorString() . ')){' . "\n";
     $docblock = new Zend_CodeGenerator_Php_Docblock();
     $docblock->setShortDescription('Loads the entry from the database.');
     $resultMethod->setDocblock($docblock);
     $body .= "\t" . '$table = self::' . $this->_provideTableConstant() . ';' . "\n";
     //TODO - Konstante!
     $body .= "\t" . '$select = $this->zendDbObj->select($table, \'*\');' . "\n";
     $pkeyAttributes = $this->getPersistenceInformation()->getPkeyAttributes();
     if (!empty($pkeyAttributes)) {
         foreach ($pkeyAttributes as $pkeyAttribute) {
             /* @var $pkeyAttribute Zend_CodeGenerator_Php_Property */
             $body .= "\t" . '$select->where(self::' . $this->_provideTableConstant() . '.\'.\'.self::' . $this->_provideColumnConstant($pkeyAttribute) . '.\'=?\', $this->' . $pkeyAttribute->getName() . ');' . "\n\n";
         }
     }
     $body .= "\t" . 'self::$instance' . $keysString . ' = new self($parZendDbObj);' . "\n";
     $body .= '}' . "\n\n";
     $body .= 'return self::$instance' . $keysString . ';';
     $resultMethod->setBody($body);
     $this->getClass()->setMethod($resultMethod);
 }
开发者ID:JPustkuchen,项目名称:phppcg,代码行数:47,代码来源:Abstract.php

示例6: createParam

 /**
  * Create a CodeGenerator parameter
  *
  * @param	string				$name
  * @param	null|string			$type
  * @param	null|bool			$reference
  *
  * @return	Zend_CodeGenerator_Php_Parameter
  */
 public static function createParam($name, $type = null, $reference = null)
 {
     $param = new Zend_CodeGenerator_Php_Parameter();
     $param->setName($name);
     if (!empty($type)) {
         $param->setType($type);
     }
     if ($reference === true) {
         $param->setPassedByReference(true);
     }
     return $param;
 }
开发者ID:NixFifty,项目名称:XenForo-XDT,代码行数:21,代码来源:ClassGenerator.php


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