Download the PHP package sqrt-pro/framework without Composer
On this page you can find all versions of the php package sqrt-pro/framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sqrt-pro/framework
More information about sqrt-pro/framework
Files in sqrt-pro/framework
Package framework
Short Description SQRT Framework
License MIT
Homepage http://fw.sqrt.pro
Informations about the package framework
SQRT\Framework
Всё следует упрощать до тех пор, пока это возможно, но не более того. © Эйнштейн
Идеология
- Полиморфизм. Наследование. Инкапсуляция. Никакой магии.
- Никаких текстовых конфигов.
- Максимум подсказок в IDE (PHPStorm).
Установка
Установка производится с помощью Composer.
php composer.phar create-project sqrt-pro/framework:dev-master path/to/install
Пояснения
1. Полиморфизм. Наследование. Инкапсуляция. Никакой магии.
Фреймворк старается быть максимально незаметным. Нет никаких сложных соглашений, не обязательно читать тонны документации. Можно просто взять пример и начать писать проект, при необходимости подключая сторонние компоненты или просто замещая части фреймворка, ведь он полностью состоит из подключаемых независимых компонентов.
При этом, основным способом достижения гибкости и производительности являются три базовых принципа ООП, направленные на производство легкого кода, который легко читать и поддерживать, а не на усложнение концепций и многостраничных соглашений и мануалов.
2. Никаких текстовых конфигов.
Настройка системы производится с помощью вызовов методов, настраивающих окружение, а конфигурирование форм, схемы БД и т.п. осуществляется с помощью наследования базовых классов и их дополнительной инициализации. Таким образом IDE сама подсказывает доступные опции и шанс опечатки или ошибки довольно невысок. И опять же, не нужно лезть в документацию, чтобы посмотреть какие опции есть по этому пункту.
Пример настройки формы:
class MyForm extends Form
{
function init()
{
$this->addInput('name', 'Имя')
->addFilter('!^[a-z]+$!i');
$this->addCheckbox('is_active', 'Вкл');
$this->addSelect('status', 'Статус')
->setOptions(array('new' => 'Новый', 'old' => 'Старый'));
$this->addFile('image', 'Изображение')
->setIsRequired();
}
}
3. Максимум подсказок в IDE (PHPStorm).
В SQRT Framework если где-либо можно получить объект, по нему с большой вероятностью будет доступен автокомплит, т.к. не используются языковые конструкции вида:
$app['DB']->query()
Doctrine::getTable('JobeetJob')
Т.к они не позволяют IDE определить, какой именно объект используется и соответственно выдать подсказки для автокомплита.
Кроме этого, там где необходимо прописаны PHPDoc комментарии @return
и каждый метод, за исключением совсем очевидных,
снабжен кратким комментарием, позволяющим понять суть без изучения кода.
All versions of framework with dependencies
sqrt-pro/kernel Version dev-master
sqrt-pro/db Version ~0.1
sqrt-pro/navigator Version ~0.1
sqrt-pro/form Version ~0.1
sqrt-pro/auth Version ~0.1