Як встановити symfony і створити проект (на прикладі denwer).

Ця інструкція буде цікава програмістам, які хочуть створити symfony-проект на denwer з прописуванням www/як site-root, але у них не виходить.

Сам деякий час парився, сподіваюся, комусь то мої інструкції стануть у нагоді.

Отже:
створення symfony-проекту на denwer з прописуванням www/як site-root

Версія: Денвер-3 2008-01-13
symfony - symfony-1.1.0 (http://pear.symfony-project.com/get/symfony-1.1.0.tgz) (до речі, на момент написання цього тексту остання стабільна версія - 1.1.4, можна і її скачати б)

Інструкція Рівень складності: Нескладно Що вам знадобиться:
  • встановлений denwer
  • symfonyXXX.tgz
1 крок

доконфігуріруем php:
на Денвері для консолі потрібно використовувати Z: \ usr \ local \ php5 \ php.exe
в змінну середовища PATH потрібно додати шлях до Z: \ usr \ local \ php5 \
(там лежить php.exe)
це для того, щоб можна було потім користуватися командою symfony

щоб у консоль не виводилися помилки про dll - в php.ini денвера міняємо
extension_dir="/usr/local/php5/ext"
на
extension_dir="Z: \ usr \ local \ php5 \ ext "

2 крок

створюємо в Денвері сайт (наприклад, picmarket) (тобто, створюємо папку picmarket/www і рестарт Денвер)

3 крок

розпаковуємо symfony в папку сайту (щоб було так: picmarket/symfony/(data, docs, ...))

4 крок

вписуємо в PATH Z: \ home \ picmarket \ symfony \ data \ bin, щоб можна було використовувати команду symfony

5 крок

переконуємося, що встановлення всього коректно. для цього в комм. рядку (яка повинна бути запущена після всіх маніпуляцій з PATH ) пишемо: symfony-V
Повинна з'явитися напис: symfony version 1.1.0 (Z: \ home \ picmarket \ symfony \ lib)

6 крок

створюємо на одному рівні з www папку проекту, в якій буде все, що відноситься до проекту - (picmarket/proj)

7 крок

переходимо в створену папку

8 крок

пишемо symfony generate: project proj
Останній параметр - ім'я проекту, але я не виявив, щоб воно зафіксувалося де-небудь.


так чи інакше, без нього - ніяк

9 крок

прописуємо нестандартне місцезнаходження веб-рут:
proj \ config \ ProjectConfiguration.class.php згенерований на автоматі
у його метод setup додаємо
$ this ? setWebDir ($ this ? getRootDir ().'/../www ');
все, цим файлом користується як сайт, так і утиліта командного рядка.

10 крок

створюємо додаток (перебуваючи в папці проекту): symfony init-app frontend
переконуємося, що в папці www з'явилися файли програми (index.php, frontend_dev.php )
Це - фронт-контролери

11 крок

у фронт-контролерах в рядку, де інклудітся ProjectConfiguration.class.php, поправити шлях (виправлений варіант - require_once (dirname ( FILE ).'/../proj/config/ProjectConfiguration.class.php');)
(і, здається, доведеться робити це в кожному вновьсгенерірованном. ніхто не знає, як автоматизувати?)

12 крок

набираємо в браузері "picmarket" і насолоджуємося видом дефолтовой сторінки проекту

Поради та попередження :
  • розпаковувати лінуксовскіе архіви краще 7ZIP'ом. Принаймні, winRar одного разу розпакував неправильно, що коштувало 2 днів мудоханья