Как установить правильный путь к общей папке в zend framework

64
1

Zend Framework для меня совершенно новый, и у меня проблемы с ним. Вероятно, это легко исправить, но я не могу найти решение в Google.

Я не могу понять, как установить правильный путь к общей папке. Я использую xampp как virtualhost, мой текущий полный путь выглядит так:

localhost/zf_project/public/controller/action

Теперь, когда я использую формы и ссылки, он перемещает меня в localhost/controller/action, поэтому в настоящее время я добавляю везде:

$front = Zend_Controller_Front::getInstance();  
$form->setAction($front->getBaseUrl().'/controller/action');

Вероятно, самый простой способ установить путь по умолчанию в общую папку. Я попытался добавить в свой файл приложения.ini:

resources.frontController.baseurl = "/zf_project/public"

спросил(а) 2021-01-19T13:33:22+03:00 9 месяцев назад
1
Решение
102

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

Из представлений вы можете создавать ссылки с базовым URL-адресом с baseUrl помощника baseUrl.

// resolves to localhost/zf_project/public/controller/action
$this->form->setAction($this->baseUrl('controller/action'));

// or

// resolves to localhost/zf_project/public/images/icons/online.png
<img src="<?php echo $this->baseUrl('images/icons/online.png') ?>" />

Вы можете создавать URL-адреса с помощью помощника url. Это создает ваши URL-адреса на основе настроенных маршрутов.

// localhost/zf_project/public/controller/action/id/1234
echo $this->url(array('controller' => 'controller',
'action' => 'action',
'module' => 'default',
'id' => 1234));

Вы также можете использовать любой из этих помощников из своих контроллеров, просто укажите объект вида, когда вы хотите их вызвать:

$this->view->baseUrl();
$this->view->url($params);

Практически везде, где я baseUrl изображения, javascripts, css файлы или статические материалы, я использую помощник baseUrl. Каждый раз, когда я хочу ссылаться на другие контроллеры или действия в моем приложении, я использую помощник url поскольку он строит действительные URL-адреса, используя ваши маршруты. Таким образом, если вы изменить структуру URL, то url помощник будет отражать изменения, и вы не должны изменять существующий код.

ответил(а) 2021-01-19T13:33:22+03:00 9 месяцев назад
79

Вам необходимо изменить файл виртуального хоста.

Стандартная практика заключается в том, что Zend-приложения имеют базовый корень.

В вашем XAMP (я не из Windows, но попробую), у вас должна быть папка: /xampp/apache2/conf вы найдете apache2.conf или httpd.conf, любой из них. Откройте их, вы должны найти DocumentRoot где-нибудь, перейдите в свою /public папку.

Кроме того, создайте новый виртуальный хост.


Кроме того, я нашел этот хороший учебник, следуйте ему шаг за шагом (или переходите к шагу 3)

Надеюсь, поможет :)

Вопросов?

ответил(а) 2021-01-19T13:33:22+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема