Phalcon PHP. Создание базового проекта. Ч2
Во время инсталляции Phalcon мы также установили консольные инструменты Phalcon DevTools, с помощью которых мы можем сгенерировать базовый каркас нового проекта. Это делать не обязательно и вы можете создать структуру проекта вручную, однако команда create-project
избавит вас от некоторой рутины по созданию каталогов и .htaccess
файлов.
Создаем новый проект где-то внутри корневого каталога документов веб-сервера:
cd /var/www
phalcon create-project project
После выполнения команды, вы увидите сообщение об успешном завершении и в текущем каталоге появится папка project/
. Сразу же можете установить права 777 на каталог app/cache/
:
chmod -R 777 app/cache
Теперь ваш проект доступен через веб: http://localhost/project/
(укажите правильный путь к каталогу с проектом).
По необходимости вы можете добавить Virtual Host
для вашего нового приложения (не обязательно):
<VirtualHost *:80>
ServerAdmin admin@example.host
DocumentRoot "/var/www/project/public"
DirectoryIndex index.php
ServerName example.host
ServerAlias www.example.host
<Directory "/var/www/project/public">
Options All
AllowOverride All
Allow from all
</Directory>
</VirtualHost>
Для поддержки ЧПУ URLs в корне проекта будет сгенерирован файл .htaccess
:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
Правила в этом файле направляют все запросы к приложению в директорию public/
и мы будем уверены, что все внутренние файлы и каталоги закрыты от публичного доступа. Также будет создан еще один .htaccess
в каталоге public/
который завернет все запросы (к несуществующим файлам) на нашу точку входа index.php
:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
#phalcon