Я хочу поймать базовый путь, как вид. В виду базовый путь легко получить с помощью вспомогательной функции, как $this->basePath();
Я хочу получить значение basepath из модели.Как поймать basePath из модели в zend framework 2?
3
A
ответ
5
Добавить геттер/сеттер в вашей модели:
TestModel.php
<?php
class TestModel
{
protected $_basePath;
/**
* @param string
*/
public function setBasePath($path)
{
$this->_basePath = $path;
}
}
Теперь вводите это, когда вы создаете экземпляр своей модели
Service Manager Config:
'factories' => array(
'Application\Model\TestModel' => function($sm){
$model= new \Application\Model\TestModel();
// Just grab what we want from the view helper
$helper = $sm->get('viewhelpermanager')->get('basePath');
$path = $helper(); // or $helper('filenamehere') for added file path
// Alternatively you can just use the request to get the path
//$path = $sm->get('Request')->getBasePath();
$model->setBasePath($path);
return $model;
},
Если у вас есть менеджер услуг/локатор обслуживания, доступный внутри вашей модели, вы можете просто получить значение внутри своей модели, используя один из методов выше.
$path = $serviceManager->get('Request')->getBasePath();
Если вы посмотрите на то, как ViewHelper инстанциируется вы видите сначала проверяет конфиг:
$config = $serviceLocator->get('Config');
if (isset($config['view_manager']) && isset($config['view_manager']['base_path'])) {
$basePath = $config['view_manager']['base_path'];
}
else {
$basePath = $serviceLocator->get('Request')->getBasePath();
}
0
Я не знаю, как это сделать в модели, но в контроллере вы можете сделать это:
<?php
$myUrl = $this->url()->fromRoute('home');
Смежные вопросы
- 1. Zend Framework BasePath
- 2. Как изменить basePath в Zend Framework 2 для модуля
- 3. Модели в Zend Framework 2
- 4. Как поймать мои собственные исключения модели в Zend Framework Действие
- 5. Zend Framework, 2 модели с доктриной 2
- 6. Zend framework 2 переводчик в модели
- 7. Zend Framework 2 экземпляр таблицы в модели
- 8. Модели в Zend Framework
- 9. Zend Framework модели и Doctrine 2 Entities
- 10. Zend Framework 2 Включить
- 11. Модели в Zend Framework
- 12. Zend Framework 2 передающая переменная модели
- 13. Дизайн модели Zend Framework
- 14. Zend Framework 2 для Zend Framework Newbie
- 15. Zend Framework vs Zend Framework 2
- 16. Перенос на Zend Framework 2 из Zend Framework 1
- 17. Zend Framework 2 LDAP
- 18. Zend Framework 2 валидатор
- 19. Zend Framework 2 - фильтры
- 20. Zend Framework 2 автозагрузка
- 21. Zend framework 2 logoutAction
- 22. Zend framework 2 - Dojo_Data
- 23. Zend 2 Framework Routing
- 24. Как оптимизировать модели в Zend Framework?
- 25. zend framework 2 константы
- 26. Coalesce в Zend Framework 2
- 27. Zend Framework 2: подзапросы
- 28. Zend Framework 2 Redirect
- 29. Zend Framework 2 валидация
- 30. Zend Framework 2 Htaccess
Это может очень полезно в контроллер $ URL = $ this-> GetRequest() -> getUri (); затем поймайте каждое значение, подобное этому $ schema = $ url-> getScheme(), -> getHost() и т. д. Но я хочу получить basePath непосредственно из Model Class. –