2010-08-02 3 views
1

Я разработал приложение с Zend Framework, и теперь я хочу, чтобы его можно было разместить в подкаталоге Documentroot. , например. http://www.example.com/myapp/zend framework под документом root в subdir

Я прочитал довольно много документов о том, как это может работать, но все эти решения не соответствуют моим потребностям. Существует ли тривиальный способ сделать субдир, не добавляя конкретный путь к любому файлу, который создает страницы.

В сети есть несколько примеров, где basePath устанавливается в среде приложения, и поэтому существует вызов метода bevor для каждого создания «формы», которое предшествует пути до ссылки.

$form->setAction($this->_request->getBaseUrl() . $this->_helper->url('sign')); 

Это было из: http://johnmee.com/2008/11/zend-framework-quickstart-tutorial-deploy-to-a-subdirectory-instead-of-web-root/

Но это работает только для небольших примеров, у меня есть тонны формы, тонны просмотров и тонны сценариев. Я не могу поверить в это (позвольте назвать его взломать :)) - единственное решение для этого.

Любые идеи?

ответ

3

Вам не нужно ничего делать специальным. См. Мой учебник по адресу http://akrabat.com/Zend-framework-tutorial, который полностью разработан внутри подкаталога.

+0

oh ну, но вы всегда ссылаетесь на полный путь zf-tutorial/public, я, по-видимому, этого не хочу. Я хочу просто example.com/app/myaction, example.com/app/myaction2 и т. Д., Поэтому открытый путь является прозрачным. Вы используете -> getBaseUrld() - Thing тоже, mybe нет другого пути. Btw ваши учебники замечательные. Еще раньше помогли мне. Thx заранее – evildead

+1

Ах! В этом случае переместите index.PHP в каталог моего приложения ... См. Http://akrabat.com/zend-framework/zend-framework-on-a-shared-host/ для некоторых идей. –

+0

Хорошо, хорошая идея, я попробую это позже. Спасибо. – evildead

2

Как говорится на веб-странице:

Я сказал последний вопрос был поданную имеет дефект и не обязательно из выпусков «1.7" и за его пределами. В этом случае хелпер-> url добавит baseUrl к его результату.

Итак, все должно быть в порядке. Вы фактически используете метод $ form-> setAction() для каждой формы уже? Потому что, если вы используете его в сочетании с помощником url, baseUrl уже будет включен.

+0

Должен признаться, я делаю это не раньше. Но я сделаю это. Thx – evildead

Смежные вопросы