2016-12-31 4 views
0

Вот то, что я до сих пор:есть лучший способ, чтобы получить BasePath внутри приложения класса модуля (Zend Framework,)

class Module 
{ 
    public function onBootstrap(MvcEvent $e) 
    { 
     $serviceLocator = $e->getApplication()->getServiceManager(); 
     $viewHelperManager = $serviceLocator->get('ViewHelperManager'); 
     $renderer = $viewHelperManager->getRenderer(); 
     $basePath = $renderer->basePath(); 
     // or $basePath = $renderer->basePath('en'); (passing string) 
     } 
} 

Есть ли лучший способ добиться получения базового пути? Также обратите внимание, что мне нужно пройти конкатенированный путь (не обязательно) ($renderer->basePath('someurlpath'))

ответ

1

Чтобы получить базовый каталог или «Текущий рабочий каталог», вы должны использовать функцию PHP: get_cwd(), поскольку ZF2 устанавливает рабочий в вашем public/index.php. См скелет приложения ZF2: index.php

chdir(dirname(__DIR__)); 

Так в коде вы можете сделать что-то вроде:

$myPath = get_cwd() . "/public/folder"; 
Смежные вопросы