Phalcon PHP. Создание базового проекта. Ч2

Категория: Phalcon

Во время инсталляции 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

категория: Phalcon