Skip to content
mitivilPublic

About

MVC, micro-framework in PHP code language - for fast web development of services and testing.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

MCore

Micro-framework на кодовом языке PHP , по классической структуре MVC, имеет минимальный функционал и обеспечивает максимальную скорость работы. Подходит для быстрой развёртки небольших проектов и тестирования.

  • Инструкция на стадии доработки !
Требования
  • PHP 7.4
  • Composer
  • Стандарты PSR-4
  • MySql
  • Apache, nginx
Меню

Быстрый старт
  • Скачать все файлы проекта
  • Установить 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); - Изменить размер картинки.



Конфигурация для Apache

Переименовать файл в корне проекта hta.ccess на .htaccess для правильной маршрутизации.

Конфигурация для Nginx
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;
    }
}

About

MVC, micro-framework in PHP code language - for fast web development of services and testing.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages