- Баллы
- 66
ASFramework
Решил выложить свое творение, написанное несколько лет назад.Это - микрофреймворк для тех, кто только начинает изучать PHP и хочет написать что-то свое, но при этом не имеет достаточно знаний, что бы воспроьзоваться Yii2/Laravel/Symfony. Во время написания я вдохновлялся фреймворком Yii2.
О микрофреймворке
* Ядро фреймворка содержит всего 121 строку (+ 66 строк index.php) и написан максимально просто и понятно.* При этом используется spl_autoload_register, set_exception_handler, namespaces и прочие прелести PHP
* Запросы обрабатываются контроллерами(имя контроллера передается в ?r=) в котором есть несколько действий(имя действия передается в &a=). Запросы к БД осуществляются прямыми вызовами PDOConnect. Модели не используются.
* После обработки запроса контроллер передает полученные данные виду(шаблону), который представляет из себя обычный HTML с включениями кода PHP при необходимости.
* При вылете исключений система автоматически выведет stacktrace на экран если включен DEBUG_MODE или сообщение об ошибке, если DEBUG_MODE не включен. Можно делать свои шаблоны исключений.
* По умолчанию ядро содержит класс Account, с помощью которого можно работать с пользователями. Доступна система привилегий, флагов, сессий, смены пароля, авторизации и регистрации, выдача и удаление привилегий.
* Встроена консольная программа as, позволяющая выполнять сервисные команды, такие как "поменять пароль", выдать или забрать права, посмотреть информацию о пользователе с цветным выводом и индикацией.
* Встроена система сбора логов в файл
* Встроен класс, позволяющий из PHP создать ajax форму с автосгенерированным JavaScript кодом
* Встроена защита от CSRF атаки
Установка
Рекомендуется PHP 7.0 и вышеТак же должен работать на PHP 5.6 и выше
Работать без папки web можно, нужно будет только изменить index.php и поменять там пути
- Настраиваем веб-сервер, что бы папка web смотрела в интернет
- Импортируем framework.sql в базу данных в PhpMyAdmin. При использовании PostgreSQL необходимо вручную создать таблицы с необходимыми полями
- Копируем папку конфигураций config_example в config
- В config/cfg.php настраиваем подключение к БД
- В config/main.php указываем путь до папки с сайтом
Если будет необходимость создам Discord канал.
P.S. Как то раз я делал скрипт интеграции с моим лаунчером. Будет необходимость - пишите, может получится восстановить. Хоть я и постарался написать нормально, но все же PHP - не мой профиль занятий, поэтому возможен говнокод и костыли. Знающие люди прошу меня поправить.
Последнее редактирование: