Zend Framework Bootstrap функции, откуда взять - PullRequest
3 голосов
/ 21 февраля 2011

Я нахожу много функций, используемых в классе Bootstrap в приложениях Zend Framework, таких как:

_initRoute()
_initLocale()
_initLayout()
.......

, но я искал его ссылку, но ничего не нашел

Zend_Application_Bootstrap_BootstrapAbstract
Zend_Application_Bootstrap_Bootstrap

ни одна из них не содержит никакихиз этих функций.

Где я могу найти полное описание этих функций?

Ответы [ 2 ]

6 голосов
/ 22 февраля 2011

По сути, это плагинов ресурсов , расположенных в library/Zend/Application/Resource/.Вы также можете создавать свои собственные.

См. Мой подробный ответ на очень похожий вопрос , который также должен соответствовать этому.

Также,см BootstrapAbstract.php:

/**
 * Get class resources (as resource/method pairs)
 *
 * Uses get_class_methods() by default, reflection on prior to 5.2.6,
 * as a bug prevents the usage of get_class_methods() there.
 *
 * @return array
 */
public function getClassResources()
{
    if (null === $this->_classResources) {
        if (version_compare(PHP_VERSION, '5.2.6') === -1) {
            $class        = new ReflectionObject($this);
            $classMethods = $class->getMethods();
            $methodNames  = array();

            foreach ($classMethods as $method) {
                $methodNames[] = $method->getName();
            }
        } else {
            $methodNames = get_class_methods($this);
        }

        $this->_classResources = array();
        foreach ($methodNames as $method) {
            if (5 < strlen($method) && '_init' === substr($method, 0, 5)) {
                $this->_classResources[strtolower(substr($method, 5))] = $method;
            }
        }
    }

    return $this->_classResources;
}
3 голосов
/ 21 февраля 2011

Эти функции нигде не определены, просто в Bootstrap.php - они называются методами ресурсов. В процессе начальной загрузки ZF автоматически вызывает каждую функцию, определенную в Bootstrap.php, которая начинается с _init.

Подробнее здесь: http://framework.zend.com/manual/en/zend.application.theory-of-operation.html

...