framework.zend.com
Stable релиз 2.0 / 1.12

Начинаем работу с Zend Framework

К комментариям

Материал данной статьи во многом базируется на русскоязычной документации Zend Framework (как известно, лучший учебник это мануал), кроме этого в интернете можно найти ряд подобных статей, но все же что бы не нарушать логическую цепочку начнем.

Установка Zend Framework
При работе с фреймворком использованы следующие версии программного обеспечения:
php 5.2.5, отметим что фреймворк накладывает свои требования на версию php,  она должна быть  5.2.4. (на дату 26.02.09) или старше
mysql 5.1
apache 1.3.27

Итак начнём. Для начала скачиваем последний стабильный релиз фреймворка.
В идеале создаем отдельный виртуальный хост на котором мы и будем проводить наши эксперименты. Мы назвали его ilovezf :), то есть наш сайт будет доступен по адресу http://ilovezf, но подойдет и просто стандартный document root.

Создаем следующую структуру директорий и необходимые файлы.

applications/ Собственно, папка с самим приложением
controllers/ Здесь хранятся контроллеры
IndexController.php Контроллер по умолчанию или индекс-контролле
models/ Модели
views/ Представления
scripts/  
index/ Представления для индекс - контроллера
index.phtml Представление для action (действие) по умолчанию (indexAction)
error/ Представления для контроллера ошибок
index.phtml Представление для действия по умолчанию (indexAction)
libs Cодержит папку Zend в котором находиться сам фреймворк
public/ Папка с файлами с общим доступом
img/ Различные графические обьекты
js/ Javascript – скрипты
css/ Таблицы каскадных стилей (css)
.htaccess Файл настройки вебсервера
index.php Точка входа


В нашем случае document root это папка public. Остальные файлы вынесены с целью защиты от получения доступа к ним. (По желанию вы можете этого не делать, а разместить все ваши файлы внутри document root)

В архиве с фреймворком находим папку library/Zend , это и есть сердце нашего фреймворка, копируем эту папку в созданную папку libs

У вас должна получиться следующая структура директорий:



Файл public/.htaccess содержит следующий код:

RewriteEngine on
RewriteBase /

RewriteRule .*$ index.php [L]

С помощью модуля apache mod_rewrite (механизм перенаправления входящих запросов), осуществляется перенаправление всех запросов к index.php. Если модуль mod_rewrite  у вас не установлен или не работает - переходя по ссылкам вы будете получать ошибку 404. Будьте внимательны.

Файл index.php будет служить точкой входа в наше приложение.

Код файла public/index.php

<?php
set_include_path
('z://home/ilovezf/libs'); // укажите физический путь к папке libs

require_once 'Zend/Controller/Front.php';

Zend_Controller_Front::run('../applications/controllers/'); // физический путь к папке с контроллерами


Возможно вас удивит что тег <?php не закрыт?. Таков стандарт кодирования Zend Framework. И действительно после непродолжительной практики вы убедитесь что данный подход позволяет перестраховаться от некоторых ошибок, кроме этого мы сэкономим время и место :)

Теперь перейдем к самому интересному к модели MVC

До того, как начать обсуждение контроллеров действий, нужно сначала понять, как обрабатываются запросы в Zend Framework. По умолчанию первая часть пути в URL соответствует контроллеру, а вторая - действию. Например, дан URL http://ilovezf/news/show. В нем путь /news/show будет соответствовать контроллеру news и действию show. Если не передано имя действия, то предполагается действие index; если не передано имя контроллера, то предполагается контроллер index (по соглашению Apache это соответствует DirectoryIndex).

Диспетчер Zend_Controller принимает значение контроллера и находит соответствующий ему класс. По умолчанию это имя контроллера, начинающееся с заглавной буквы и со словом Controller в конце. Таким образом, контроллер news будет соответствовать классу NewsController.

Аналогичным образом устанавливается соответствие значения действия методу класса контроллера. По умолчанию значение приводится к нижнему регистру и к нему присоединяется слово Action. Таким образом, в нашем примере выше действие show будет методом с именем ShowAction, и в итоге вызов метода будет выглядеть следующим образом: NewsController::showAction().

Итак, двигаемся дальше. Теперь приступим к созданию контроллера и действия, используемых по умолчанию. Как было замечено ранее, эти контроллер и действие должны оба называться index. Откройте файл application/controllers/IndexController.php и введите следующее:

<?php 

require_once 'Zend/Controller/Action.php';

class 
IndexController extends Zend_Controller_Action {

    public function 
indexAction() {

    }

}


По умолчанию в Zend_Framework в качестве представления используется Zend_View. Каким образом определенной странице ставится в соответствие определенный шаблон? – очень просто. Если запрошен контроллер index и действие index (что произойдет при открытии страницы http://ilovezf) то будет отображен шаблон views/scripts/index/index.phtml. По аналогии для url http://ilovezf/news/show будет отображен шаблон application/views/scripts/news/show.phtml, конечно только в том случае если он существует. По умолчанию шаблоны имеют расширение .phtml. Zend Framework поддерживает возможность использования других систем отображения представления, в частности шаблонизатора Smarty, об этом будет рассказано в наших следующих статьях.

Файл application/views/scripts/index/index.phtml. содержит следующий код:

(Замечание: Первая строчка кода должна идти одной цельной строкой, ниже она разбита лишь для красоты отображения)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru" id="html">
<head>
    <title>I LOVE ZEND FRAMEWORK!</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
    I LOVE ZEND FRAMEWORK!
</body>
</html>


И последнее, нам необходимо создать свой контроллер ошибок. По умолчанию Zend Framework ожидает что имеется контроллер ErrorController с методом errorAction. Создадим этот файл
Код файла application/controllers/ErrorController.php

<?php 

require_once 'Zend/Controller/Action.php';

class 
ErrorController extends Zend_Controller_Action {

    public function 
errorAction() {

    }

}

Для отображения сообщений о ошибке создадим файл отвечающий за представление

Код файла application/views/scripts/error/error.phtml

(Замечание: Первая строчка кода должна идти одной цельной строкой, ниже она разбита лишь для красоты отображения)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru" id="html">
<head>
    <title>I LOVE ZEND FRAMEWORK!</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
    Some error happened!
</body>
</html>

Теперь мы можем насладиться результатом нашей работы, он доступен по адресу http://ilovezf/, кроме этого он также доступен по адресу http://ilovezf/index и http://ilovezf/index/index.

Если вы все сделали правильно вы должны увидеть надпись "I LOVE ZEND FRAMEWORK!" В противном случае сработает обработчик ошибок, и вы увидете сообщение "Some error happened!"

К сожалению, в данной статье мы не затронули такую важную часть MVC как модель, в следующих статьях мы напишем об этом.

Поздравляем, вы создали ваш первый сайт с использованием Zend Framework!

Код можно скачать здесь (Код не содержит сам Zend Framework)

Обсуждение на форуме

Лучший способ следить за обновлениями сайта это подписаться на RSS
Если информация была полезной для вас, вы можете поддержать сайт.
Комментарии:
Антон 11.02.2009 09:47 #
, отметим что фреймворк накладывает свои требования на версию php, она должна быть 5.2.4. (на дату 26.02.09) или старше ...

Это мне надо дождаться 26.02.09 до выхода соответствующего релиза ))
Ответить
Михаил 19.02.2009 10:13 #
Пример кода, скачиваемый по ссылке, содержит ошибку:
Скрипты вида для index контроллера должны быть index/index.phtml, а сейчас там Index/Index.phtml. При запуске получаем ошибку - Some error happened!
Ответить
Марат 21.02.2009 07:57 #
Хорошая помощь в установке ZF спасибо!
Ответить
Максим 27.02.2009 09:48 #
Спасибо, отличная статья.
Ответить
pol_uha 27.02.2009 23:18 #
Извините...не понимаю. Сделал то-то может не так. Стоит у меня бета Zend Server в C:\Program Files\Zend\
решил попроктиковаться фреймворком на 127.0.0.1
для этого положил все это хоз-во в C:\Program Files\Zend\Apache2\htdocs
и единственное то изменил - это в папке public index.php такую строчку
set_include_path('C:/Program Files/Zend/Apache2/htdocs/libs');
так вот ни по адресу http://localhost/ни http://localhost/index и http://localhost/index/index ничего не работает
но зато выводится "I LOVE ZEND FRAMEWORK!" - это знаит то все работает и какая то проблема в .htaccess или как, подскажите плз!!!
Ответить
plyutik 09.08.2009 17:40 #
Та же фигня на с localhost
Ответить
pol_uha 27.02.2009 23:20 #
Извиняюсь, не допечатал. "I LOVE ZEND FRAMEWORK!" - выводится при адресе http://localhost/public/
Ответить
Александр Махомет 27.02.2009 23:26 #
У вас не работает/не включен модуль mod_rewrite.
Если проблема не решится - напишите в тему на форуме.
Ответить
Pol_uha 28.02.2009 19:19 #
Странно, вроде строчка LoadModule rewrite_module modules/mod_rewrite.so раскомментирована...ладно, допустим это потому, что бетта ZendServer. Попробовал на Denwere, где mod_rewrite работает...
Вопрос, как мы можем перейти на http://localhost/public/index.php при наборе только http://localhost, если файл .htaccess лежит не в корне, а в папке Public? У меня все заработало только когда создал 2 .htaccess. Один прям в корне со следующей записью
RewriteEngine on
RewriteRule ^.*$ /public/index.php [L]
И зачем то нужно было оставить.htaccess и в public c одной лишь строкой
RewriteEngine on
иначе высвечивалась строница с 500-й ошибкой
Ответить
Ilia 24.03.2009 02:31 #
Возможно, у вас в apache настроен путь к корню, а не к папке public

Пример
---начало примера (файл httpd-vhosts.conf)---

...
DocumentRoot "диск:/путь_к_папке_с_сайтами/название_сайта/public"
...

---окончание примера---

Если в DocumentRoot убрать public, то будет похожая на вашу проблема.
Ответить
Banderas 03.03.2009 14:03 #
у меня надпись Access forbidden!
это может быть потому что версии php и apache немного недотягивают. просто я пользуюсь xampp. и нехочется переходить на отельные состовляющее
Ответить
Di 16.03.2009 00:05 #
Отличная статья. В конце концов понял, как там шаблоны работают)
Ответить
ilya 12.05.2009 03:19 #
А у меня заработало как только я убрал вообще .httaccess
Ответить
Александр 09.06.2009 15:11 #
в файле public/index.php сказано что нужно указать физический путь к папке libs, проблем нет если работаем на локальной машине. А как быть после того как всё будет залито на сервре, какой там физический путь?
Ответить
D@RK_DIE$EL 29.09.2010 22:53 #
Можно не указывать путь в плоть буквы диска, где он расположен. Можно просто указать '../libs' и все будет работать.
Ответить
Кирилл 11.06.2009 16:32 #
Ничего не работает. Сделал все по этому мануалу. Сервер выдает 403 ошибку. Скачал исходный код - то же самое. Что я делаю не так?
Ответить
Егор 23.07.2009 07:27 #
Вам необходимо задать разрешение в конфиге Apache. Примерно так:
<Directory "D:/www">
  Options All
  Allow from all
  DirectoryIndex index.php
</Directory>
Ответить
Сергей 18.03.2011 12:52 #
Егор огромнейшее спасибо!
Ответить
Maks 13.06.2009 20:15 #
Спасибо за статью!
Ответить
Игоръ 27.06.2009 18:23 #
Ставлю на сервере с апачем (на родном от openSUSE с включенным mod_rewrite) ZF 1.8.4...
По идее в этой версии ZF уже ничего изменять не нужно чтоб увидеть стандартную страницу?
Но оно ругается, или 403, или 500 ошибка (тогда в логах пишется про ошибку в .htaccess строка SetEnv).
Если удалить htaccess, то можно зайти по адресу http://project/public/ и оно покажет стандартную страницу...
Но слабо верится, что нужно что-то удалять, может туплю, что-то не дочитал? подскажите пожалуйста
Ответить
Игоръ 27.06.2009 20:27 #
Вернул htaccess, посмотрел в логах на что ругалось и добавил:
Options +FollowSymLinks
Еще необходимо добавить short_open_tag = On в php.ini  (по крайней мере у меня на стандартных настройках)
Всем спасибо, все хорошо :)
Ответить
plyutik 09.08.2009 17:32 #
Hello World!

На хостинге заработало всё.

На localhost почему-то аналогично не хавает .htaccess;
Установлен последний ZendServer + framework 1.7.2 указанный автором статьи, но подмена путей не происходит.
Ответить
Сергей 12.08.2009 14:02 #
Вопрос о DocumentRoot "диск:/путь_к_папке_с_сайтами/название_сайта/public"

В данный момент у меня настроено так:
DocumentRoot "диск:/путь_к_папке_с_сайтами/название_сайта

Изменить эту настройку хостинг-провайдер не разрешает.
Возможно ли не использовать папку public и все ее содержимое свалить в корень сайта, или можно прописать какой-то дополнительный редирект на public ? Если редирект то вероятно в адресной строке станет отображаться /public/ в конце - хотелось бы, чтобы адрес отображался как и раньше:
http://www.имя_сайта/

Заранее благодарю за решение.
Ответить
Сергей 12.08.2009 20:55 #
Отвечаю сам на свой вопрос. Может кому-то это тоже будет интересно. Все гениальное как обычно просто.
Необходимопросто поместить содержимое папки public в корень сайта. Остальные дериктории расположить подобно схеме и не важно как будут называться папки. У меня, например, вместо папки public получилась папка docs, а вместо папки applications папка php. Папку libs оставил без изменения. Главное правильно прописать пути в файле index.php. Спасибо автору за прекрасную статью.
Ответить
Amaton 15.12.2010 16:00 #
КЭП?
Ответить
Валентин 16.08.2009 15:45 #
Как-то с первого раза не уделил должного внимания этой статье. А в ZF - всего три дня (да и в web-строительстве не больше). В общем был наказан за невнимательность... Облазил весь интернет, все форумы - так ничего и не понял. Опять попал на эту статью. И... О ЧУДО! все стало понятно!!!
Спасибо автору. Буду разбираться дальше. Главное - начало положено... Все работает (пока только в "локале" на Денвере).
УРА!!!
Ответить
Саша 13.10.2011 14:38 #
То же самое!
Ответить
Quer 24.08.2009 22:38 #
Не могу на денвере нормально запустить.
Если сохранять иерархию директорий, то не работает если оставить .htaccess. И то, только по адресу http://studyzend1/public/

Если же просто http://studyzend1/, то просто список директорий в корне выводит(
Ответить
Quer 24.08.2009 22:57 #
Догадался прочитать каменты.
Решение:
Создаем еще один .htaccess в корне со строками:

RewriteEngine on
RewriteBase /
RewriteRule .*$ /public/index.php [L]

А в .htaccess в папке /public/ оставляем строку:

RewriteEngine on

Вроде Работает.
Ответить
pavel 09.02.2010 11:38 #
все сделал как написано, подставил правильные пути, но почему-то при обращении к http://localhost/ilovezf/ пишет Some error happened!. А при обращении к http://localhost/ilovezf/public/ пишет I LOVE ZEND FRAMEWORK!. Не понимаю в чем дело и где может быть ошибка. Подскажите пожалуйста.
Ответить
alexua 19.02.2010 22:05 #
Была такая же проблема. Делаю предположение (может оно и тупое)... Я думаю вся проблема в особенностях среды разработки. Я так понял, что автор статьи работает с денвером, а я с appserv-ом.
Чтобы все заработало, сперва-наперво, скачал исходник, любезно предоставленного автором. Следующий шаг раскомментировал строку LoadModule rewrite_module modules/mod_rewrite.so в файле C:\AppServ\Apache2.2\conf\httpd.conf. Далее перезапустил Apache - пришлось делать вручную, через службы ибо в Win7 по другому он не хотел перезапускаться.
Далее, (для устранения ошибок) в скачанном примере добавил копию .htaccess в корневой каталог и заменил [L] на [L,R=301]. Из первого файла .htaccess удалил все кроме строчки "RewriteEngine on".
Почему замена [L] на [L,R=301] расставила все на свои места понятия не имею, ибо я в программировании профан. В общем теперь все работает как надо. Чтобы до этого додуматься, потребовалось всего около 4-х часов. Но теперь все работает. Слава Богу за все.
Ответить
Dmitry 02.09.2009 09:09 #
Что самое обидное что аналог Зенд Фреймворка я написал еще лет 9 назад, и только сегодня узнал что это за шняга и как функционирует (
Ответить
Phantom 28.09.2009 17:28 #
Сделал все по мануалу и залил проект на внешний сервер.
При этом сам проект лежит не в корневой папке сайта, а чуть дальше (http://site/zf/).
При запуске http://site/zf/ выдает страничку с надписью "Some error happened!", а при запуске http://site/zf/index.php все работает как надо.

Можете сказать, в чем может быть ошибка? Или хотя бы как ее найти?
Ответить
Кирилл 25.11.2009 22:27 #
Хороший вопрос. У меня тоже не получилось завести подобную структуру. В итоге оставил эту затею и скинул проект в Z://home/ilovezf/www
.htaccess сдел их 2шт, как описано выше.
Денвер все замечательно увидел, а я стал обращаться по адресу
http://ilovezf.ru/index.php
Однако реально, когда сайт будет готов, на хостинге мне придется сначала выложить все "потроха" сайта, т.о., чтобы можно к нему было обратиться как www.mypage.ru/ilovezf/index.php
С зендом только знакомлюсь, поэтому кто знает - опишите как
решить эту проблему...
Ответить
Кирилл 26.11.2009 06:57 #
Сам нашел ответ. Помогла статья
http://zendframework.ru/articles/tutorial-building-basic-site-on-zend-framework-1-5#code
Повторю суть проблемы:
1. Содержимое сайта лежит в некой директории
2. нет доступа к document root
Решение:
1. Перепишем $baseUrl с '/' на '/ilovezf/';
2. В .htaccess (в папке ilovezf) изменим на
#Options +FollowSymlinks
#Options -Indexes

AddDefaultCharset UTF-8

php_value error_reporting 7

RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^.*$ /ilovezf/public/index.php [L]
3. В .htaccess (в папке public) изменим на
RewriteEngine off
Результат:
1. Сайт я выложил в папку c:\WebServers\home\localhost
\www\ilovezf\
2. Обращение к сайту выглядит так
http://localhost/ilovezf/pages/2
Очень интересно почитать комментарии опытных людей - правильно ли я все сделал, не повылазят ли тут "подводные камни".
Могу лишь сказать,что исходники из приведенной статьи у меня заработали на ура!
Ответить
Igor 21.10.2009 22:55 #
Спасибо за пример. У меня все запустилось под денвером.
Сделал небольшую коррекцию в index.php:
========================================
при такой записи
_include_path('C://WebServers/home/zf.ru/www/libs&#039;);

получал ошибку:
Warning: require_once(Zend/Controller/Front.php)


Запись рулит:
set_include_path('C:\WebServers\home\zf.ru\libs');


Ответить
Сергей 26.11.2009 14:31 #
зашел на сайт узнать что такое зенд фр, но ненашел зачем этот сайт и что за зверь этот з.фр ?? дайте ссылку на этом сайте
Ответить
Busin 04.12.2009 21:25 #
часто бывает ситуация, когда проектов несколько

Не хотелось тратить время на изучение настроек vhosts в апаче, можно обойтись упомянутым способом с .htaccess
но менять каждый раз строчку к текущему проекту в корневом .htaccess неудобно

Вместо этого в папку public кладём файл такого содержания


RewriteEngine on
RewriteBase /lesson1/public/
RewriteRule .*$ index.php [L]


где в директиве RewriteBase пишем путь от document root до папки public проекта

решение тривиальное, но я на его поиск угробил полчаса. Надеюсь кому то я эти полчаса сейчас сэкономил
Ответить
Павел 03.01.2010 00:45 #
А что делать если Some Error happenned? Куда посмотреть какая именно из error-ов произошла?
Ответить
Евгений 19.03.2010 16:53 #
Все делал в соответствии с Вашими инструкциями, все с первого раза запустилось.
Спасибо Вам огромное, при возможности отблагодарю материально.
Ответить
MF 06.04.2010 14:17 #
На данный момент статья устарела к сожалению структура уже не такая в нутрях ZF да еще не раскрыта тем zend tool. Вообще хотелось бы по побольше картинок что откуда берется и куда вызвается. Порог вхождения в ZF явно не позволяет назвать его простым и понятным. Там столько всего навороченно, что даже в статьях авторы пользуются лишь частью функционала  прикручивая свои велосипеды вместо штатных средств, уже имеющихся в ZF.
Ответить
Дмитрий 21.12.2011 16:37 #
Как всегда лучший вариант это использовать документацию из офф. сайта, я делал по этому http://framework.zend.com/manual/en/learning.quickstart.intro.html, для ознакомления очень даже хорошая инструкция.
Ответить
Кирилл 13.04.2010 09:05 #
Fatal error у меня. имя контролера говорит неправильное в  Controller/Dispatcher/Standard.php но я вывел входящий массив и там  [controller] => index, то есть должен вывестись индекс но  'Invalid controller specified (error)'  и что делать?
Ответить
sourn 29.06.2010 17:39 #
Большое спасибо автору, статья очень помогла при настройке ZF!
Ответить
D@RK_DIE$EL 04.07.2010 18:09 #
В прикрепленном архиве есть различия с приведенным выше обучениям:

1 - applications\views\scripts\index\ в примере, а в архиве applications\views\scripts\Index\ для виндовса это никак не скажеться, а вот линукс различает регистры и выдал бы ошибку.

2 - applications\views\scripts\error\ должен лежать файл не index.phtml а error.phtml, а иначе у меня выскакивала ошибка.

Путь, в настройках сервера апач, к файлам сайта нужно указывать в папку public.

Так же важно заметить что пути в главном индексе прописываются через обратные слэши, не такие как в виндовс
Ответить
puchuu 13.07.2010 09:15 #
статья отличная
автору большое спасибо
я без проблем замутил пирвет мир на зенд =)
Ответить
Sejton 13.08.2010 15:47 #
Для того, у кого не работает.
У меня вот как поличилось :
Вместо
set_include_path('z://home/ilovezf/libs&#039;); // укажите физический путь к папке libs

я указал
set_include_path( 'C:\Program Files\Zend\ZendServer\share\ZendFramework\library');

ЗЫ это под Windows.
Как оказалось, что я в папку libs затянуд не сами фреймворк, а больше, и по этому не работало.

После изменений, файл public/index.php выглядит вот так:

<?php

set_include_path( dirname(dirname(__FILE__)).'\libs');
// укажите физический путь к папке libs

require_once 'Zend/Controller/Front.php';

Zend_Controller_Front::run('../applications/controllers/');
// физический путь к папке с контроллерами



Структура проекта должна получится вот такой:
-public
-applications
-lbs
  -Zend
    - Acl
    - Amf
    ...
    - Controller

Ответить
Sejton 13.08.2010 15:49 #
Забыл сказать - Автору Спасибо!
Отличная статья для старта.


Ответить
Олег 20.08.2010 00:52 #
очень доступно написано...
Ответить
Rollyz 21.11.2010 18:39 #
насчет пути советую использовать универсальный "путиводитель"

взято с CI

$system_folder = "";

if (strpos($system_folder, '/') === FALSE)
{
if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE)
{
$system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;
}
}
else
{
// Swap directory separators to Unix style for consistency
$system_folder = str_replace("\\", "/", $system_folder);
}

$system_path = str_replace('//','/',dirname($system_folder).'/');

что выдаст вам текущую дерикторию в которой у вас скрипт, и не нужно посточянно прописывать пути

остально выглядит так

set_include_path($system_path.'libs'); // укажите физический путь к папке libs

require_once 'Zend/Controller/Front.php';

Zend_Controller_Front::run('../applications/controllers/'); // физический путь к папке с контроллерами
Ответить
Vicking 20.08.2011 09:54 #
Заебись! Всё работает.
Спасибо Автору.
Ответить
Эдуард 13.09.2011 09:52 #
А если у меня показывает "I LOVE ZEND FRAMEWORK!" при http://ilovezf, но http://ilovezf/index/index/ показывает 404  Ошибку?
LoadModule rewrite_module modules/mod_rewrite.so стоит
Ответить
Anatoly 18.09.2011 22:42 #
Доброго вам времени суток. Подскажите возникла у меня такая ошибка:
Fatal error: Class 'Zend_Controller_Exception' not found in Z:\home\zendFrame\libs\Zend\Controller\Plugin\Broker.php on line 336
Что может быть не так? открыл данный файл. На данной строке такой класс имеется.
Ответить
Саша 13.10.2011 14:41 #
Статью прочитал. Делал всё по шагам. Всё получилось. Кстати, можно было и не набирать вручную - есть код :). Автору большая благодарность.
Ответить
Денис 26.10.2011 13:46 #
Спасибо за статью, информации по Zend Framework мало.
Нет возможности использовать командную строку на хостинге, как описано в других примерах, а на локальной машине работать не люблю.
Ответить
kolyaset 05.12.2011 15:51 #
В дистрибутиве ZF есть батник для автоматического создания и управления проектом \bin\zf.bat Для пользования им следует:
1 скопировать содержимое папки bin в корень будущего проекта 2 запустить zf.bat с параметром create project имя_проекта
Батник создаст вышеописанную структуру каталогов. Единственное, что необходимо это скопировать \library из дистрибутива в проект
Ответить
NoDiaNo 11.02.2012 21:49 #
У меня, как и у Анатолия, появилась ошибка:
Fatal error: Class 'Zend_Controller_Exception' not found in Z:\home\aaa\library\Zend\Controller\Plugin\Broker.php on line 336
Что делать?
Ответить
Уважаемые пользователи. Комментарии не для того чтобы:
  1. Спрашивать почему у вас не работает код, для этого есть тема форума закрепленная за статьей.
  2. Спрашивать как реализовать ту или иную функциональность, для этого необходимо создать свою тему на форуме.

Комментарии для того чтобы: высказать свое аргументированное мнение о статье, указать какие участки вызывают непонимание, что нужно исправить/улучшить, просто сказать спасибо.

Комментарии имеют древовидную структуру.
Если вы хотите ответить на определенный комментарий - нажмите на ссылку "Ответить" возле этого комментария.

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