Micro-framework на кодовом языке PHP , по классической структуре MVC, имеет минимальный функционал и обеспечивает максимальную скорость работы. Подходит для быстрой развёртки небольших проектов и тестирования.
- Инструкция на стадии доработки !
- PHP 7.4
- Composer
- Стандарты PSR-4
- MySql
- Apache, nginx
- Быстрый старт
- Файловая структура
- Конфигурация для Apache, Nginx
- Работа с маршрутизацией
- Работа с контролёрами
- Работа со встроенными инструментами
- Работа с шаблонами "View"
- Скачать все файлы проекта
- Установить composer и выполнить команду в директории проекта:
composer install - Ознакомится и настроить конфиг-файл:
config.phpобщие настройки. - Ознакомится и настроить конфиг-файл:
System\configSys.phpСистемные настройки.
По умолчанию маршрутизатор настроен в режиме: AUTO
Переключать режим маршрутизации проекта следует в файле: System\configSys.php
├─ Router\ "Все файлы с маршрутизациями проекта находятся здесь"
В Маршрутизаторе проекта имеется 3 режима
- CNC
- стандартный ЧПУ режим, пример запроса:
www.mysite.ru/homeв таком случае маршрутизатор ядра обратиться к контроллеру по путиLogic\Controller\home.php
- стандартный ЧПУ режим, пример запроса:
- ROUTE
- Режим только указаны маршрут, в таком случае маршрутизатор ядра осуществит поиск маршрута по всем файлам
.phpв каталогеRouter\при нахождении обратиться в указаны контроллер.
- Режим только указаны маршрут, в таком случае маршрутизатор ядра осуществит поиск маршрута по всем файлам
- AUTO
- Режим автоматической маршрутизации, в таком случае маршрутизатор ядра осуществит поиск в режиме
ROUTEесли маршрут был не найден, тогда производится поиск маршрута в режимеCNC
- Режим автоматической маршрутизации, в таком случае маршрутизатор ядра осуществит поиск в режиме
Выберите режим работы маршрутизации для Вашей безопасности и удоства
├─ Logic\
│ ├─ Controller\ "Контролёры проекта"
│ └─ Model\ "Модели проекта"
│
├─ Resource\ "Ресурсы проекта, картинки, документы и тп.."
│
├─ Router\ "Маршрутизация проекта, можно переключиться на ЧПУ В config.php"
│ └ Base.php "Файл маршрутизации, *Добавляйте свои файлы маршрутизации*"
│
├─ System\ "Системные файлы проекта, *Ядро, загрузчик, логгер, отладчик*"
| ├ log\ "Каталог лог-файлов"
| └ Tools\ "Каталог с различными инструментами(Которые упрощают работу)"
│
├─ View\ "Каталог для показа сайта *HTML,CSS,JS* и тп..."
│ ├ 404.php "При отсутствие маршрута обращается в файл"
│ ├ error.php "При возникновение ошибок обращается в файл"
│ └ index.php "Стартовый файл отдела View"
│
├─ .gitignore "Игнорировать файлы проекта в Git"
├─ composer.json
├─ config.php "Конфигурационный файл с настройками *Проекта*"
├─ hta.ccess "Подготовительный файл конфигурации для apache"
├─ index.php "Стартующий файл проекта *Единая точка входа*"
Общий каталог с контролёрами находится по пути:
-
Контроллёры:
Logic\Controller\
Вся первичная работа с фреймворком Mcore осуществляется в контролёрах, который в свою очередь вызывается роутером пример: При обращении по адресу:www.mysite.ru/home, в таком случае роутер фреймворка в режимеROUTEсканирует все маршрутные файлы в каталогеRouter\в данном случае файлBase.phpв нём есть такая контсрукция обращение к статическому методу:Router::redirectUri('/home', 'ControllerHome');Первый входной параметр метода
'/home'означает что, если данный URI адресс будет запрашиваемым тогда вызови контроллёр который указан вторым параметром'ControllerHome', роутер перенаправит сигнал в контролёр по путиLogic\Controller\ControllerHome.phpТак же можно создавать свои маршруты, файлы в каталоге
Router\и прописывать свои маршруты.
Подключаем библиотеку инструментов use MCore\System\Tools;
Список уже доступных:
- infoUser.php;
Tools::infoUserCookie();- Получаем информацию пользователя из Cookie.Tools::infoUserTelephone();- Получаем информацию пользователя по телефону.Tools::infoUserMD5();- Получаем информацию пользователя по MD5.
- MySql.php
Tools::mySql();- Запросить в Базу данных(SELECT, UPDATE, INSERT).Tools::escape();- Экранировка.
- Pagination.php
Tools::pagination($total_page, $current_page);- Пагинация.
- TImagick.php
Tools::imgQuality($path_file, 60);- Изменить качество картинки.Tools::imgResize($path_file, 60);- Изменить размер картинки.
Переименовать файл в корне проекта hta.ccess на .htaccess для правильной маршрутизации.
server {
listen 80;
server_name name_site.ru; # доменное имя, относящиеся к текущему виртуальному хосту
charset utf-8;
root /www/public/name_site/; # каталог в котором лежит проект, путь к точке входа
index index.php index.html;
# add_header Access-Control-Allow-Origin *;
# serve static files directly
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
log_not_found off;
}
location ~* \.php$ {
try_files $uri = 404;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # подключаем сокет php-fpm
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
location / {
# add_header Access-Control-Allow-Origin *;
# try_files $uri $uri/ /index.php?$query_string;
try_files $uri $uri/ /index.php;
}
}