Начало работы
Добро пожаловать в Silex-MVC!
Это приложение является обучающим примером использования шаблона проектирования MVC на базе SILEX (PHP микро-фреймворка, созданного на основе Symfony 2 компонентов). Целью данного приложения является показать использование некоторых возможностей SILEX фреймворка, а также использование других технологий. Примеры установки фреймворка приведены для Windows и веб сервера Nginx.
Чтобы начать работать с этим приложением нужно выполнить некоторые шаги:
- Должны быть выполнены предварительные требования
- Загрузить и установить
Silex-MVC
- Сконфигурировать локальный веб сервер, чтобы точка входа была
public/index.php
- Открыть сайт в браузере
Предварительные требования
Загрузить и установить Silex-MVC
Зайти на Git с нашим проектом.
Клонировать или загрузить проект в соответствующую папку (например C:/NginxServer/html/silex-mvc
).
Зайти в папку, куда было установлено приложение и выполнить из консоли команду composer install
Для функционирования приложения необходимо создать базу данных с соответствующими данными.
Для этого необходимо выполнить из консоли командный файл app/Console/scripts/orm/schema_create.bat
, предварительно отредактировав путь к php.exe
.
Сконфигурировать веб сервер
Установить, если необходимо, соответствующие права на запись в path/to/project/var
В зависимости от вида веб сервера возможна разная конфигурация.
Например, для сервера Nginx
возможна такая конфигурация в файле nginx.conf
:
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
# File size for upload
client_max_body_size 1024m;
client_body_timeout 120s;
client_body_buffer_size 128k;
upstream backend {
server 127.0.0.1:9000;
}
server {
listen 8080;
server_name localhost;
root html/;
location / {
index index.html index.php;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
server {
listen 8080;
server_name ~^(?<domain>.+);
gzip on;
ssi off;
root html/$domain/public;
location @phpfcgi {
internal;
fastcgi_buffers 16 16k;
include fastcgi_params;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
location ~ \.(php|php/.*)$ {
fastcgi_buffers 16 16k;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}
Если у вас сервер Apache
, то можно в httpd.conf
создать виртуальный хост, например так:
NameVirtualHost *:8080
# localhost
<VirtualHost *:8080>
ServerName localhost
DocumentRoot "C:/Xampp/htdocs"
</VirtualHost>
# silex-mvc
<VirtualHost *:8080>
ServerName silex-mvc
DocumentRoot "C:/Xampp/htdocs/silex-mvc/public"
ServerAdmin webmaster@read.local
<Directory "C:/Xampp/htdocs/silex-mvc/public" >
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Сервер Apache
должен поддерживать режим mod_rewrite
.
Вы также должны убедиться, что Apache
настроен на поддержку .htaccess
файлов.
Файл .htaccess
должен находиться в папке public/
. Содержание файла .htaccess
может быть таким:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Для Windows в файле c:\Windows\System32\drivers\etc\hosts
необходимо прописать
127.0.0.1 silex-mvc
Если используется прокси, то нужно в параметрах прокси сервера в разделе Не использовать прокси сервер для адресов, начинающихся с
прописать наш адрес
...;silex-mvc
Открыть сайт в браузере
Убедиться что веб сервер запущен. Ввести в адресную строку браузера например такой адрес: http://silex-mvc:8080/