Введение в Zend Framework

 Learning Zend Framework

appendix

 Zend Framework Reference


  • Zend_Gdata
  • Zend_Http
  • Zend_InfoCard
  • Zend_Json
  • Zend_Layout
  • Zend_Ldap
  • Zend_Loader
  • Zend_Locale
  • Zend_Log
  • Zend_Mail
  • Zend_Markup
  • Zend_Measure
  • Zend_Memory
  • Zend_Mime
  • Zend_Navigation
  • Zend_Oauth
  • Zend_OpenId
  • Zend_Paginator
  • Zend_Pdf
  • Zend_ProgressBar
  • Zend_Queue
  • Zend_Reflection
  • Zend_Registry
  • Zend_Rest

  • Zend_Search_Lucene
  • Zend_Serializer
  • Zend_Server
  • Zend_Service
  • Zend_Session
  • Zend_Soap
  • Zend_Tag
  • Zend_Test
  • Zend_Text
  • Zend_TimeSync
  • Zend_Tool
  • Zend_Tool_Framework
  • Zend_Tool_Project
  • Zend_Translate
  • Zend_Uri
  • Zend_Validate
  • Zend_Version
  • Zend_View
  • Zend_Wildfire
  • Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Ttranslation 27.4% Update 2010-11-28 - Revision 23238 - Version ZF 1.11.x

    62.2. Zend_Server_Reflection

    62.2.1. Введение

    Zend_Server_Reflection предоставляет стандарный механизм для выполнения интроспекции функций и классов для использования с серверными классами. Он основан на Reflection API в PHP 5 и расширяет его для предоставления методов получения типов и описаний параметров и возвращаемых значений, полного списка прототипов функций и методов (т.е. комбинации всех возможных валидных вызовов), описаний функций/методов.

    Обычно этот функционал будет использоваться только разработчиками серверных классов для данного фреймворка.

    62.2.2. Использование

    Основное использование простое:

    <?php <?php
    require_once 'Zend/Server/Reflection.php';
    $class    Zend_Server_Reflection::reflectClass('My_Class');
    $function Zend_Server_Reflection::reflectFunction('my_function');

    // Получение прототипов
    $prototypes $reflection->getPrototypes();

    // Обход полученных прототипов
    foreach ($prototypes as $prototype) {

        
    // Получение типа возращаемого прототипом значения
        
    echo "Return type: "$prototype->getReturnType(), "\n";

        
    // Получение параметров прототипа
        
    $parameters $prototype->getParameters();

        echo 
    "Parameters: \n";
        foreach (
    $parameters as $parameter) {
            
    // Получение типа параметра
            
    echo "    "$parameter->getType(), "\n";
        }
    }

    // Получение пространства имен для класса, функции или метода
    // Пространства имен могут быть установлены во время инстанцирования (второй аргумент),
    // или с помощью метода setNamespace()
    $reflection->getNamespace();

    reflectFunction() возвращает объект Zend_Server_Reflection_Function, reflectClass возвращает объект Zend_Server_Reflection_Class. Обратитесь к документации API чтобы узнать, какие методы доступны в этих объектах.

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...