Я просто считаю что проще что-то прикрутить в 3 строчки чем потом откручивать =)
Я же не могу за всех угадать кому какая автоматизация надо, кто-то захочет по неймспейсу грузить процессоры, кто-то по папке. А что если папки две или больше итд.
Если бы там много надо было прописывать я бы еще понял, но реально в 3 строчки можно сделать подгрузку по неймспейсу.
Я вот не могу понять, для вас прописать строчку в файле это реально лишняя работа? В таком случае вы всегда можете перегрузить 1 метод в 3 строки чтобы сделать поиск классов по папкам и неймспейсам, могу в чате показать как =)
ОРМка которая поддержывает связи даже между разными типами бащ данных (можно связать таблицу мускула с коллекцией в монге). Возможность оперирования запросами хитрее (можно сразу одним запросом связать 20 постов к 40 тегам (суммарно 800 связей)) не прибегая к кастрмным запросам все на уровне ОРМ. ОРМ в отличии от елоквента например разделяет понятия репозитория, сущности и заппоса как доктрина. Поддержка Nested Sets с оптимизацией какая описана тут в отдельной статье. Словом в ОРМке фич много.
Система иерархии процессоров, котроая пощволяет настроить мидлвари хитро и качтомно и намного гибче стандартых контроллеров.
Плагабельна система автризации которая держится на интерфейсах.
Отсуствие статики и прочих антипаттернов а также инкапсуляция рантайма в контекст позволяет запустить пикси на ReactPHP практически из коробки.
Действительно независимые компоненты которые легко использовать без фреймворка.
Самый продвинутый из шаблонизаторов которые используют чистый PHP с поддержкой прикручивания своих синтаксов ( например за 2 минуты можно сделать маркдаун, хамл итд темплейтинг.
Отдельная независимая библиотека для базы данных, когда ОРМ недостаточно.
Красивая ровная архитектура.
Много тестов, почти повсюду полный кавередж, разве кроме последних комплнентов к которым руки ещн не дошли.
Потому что не всегда хочется использовать этот $classMap. Более правильный подход передавать только нужные зависимости а не весь Builder. Тогда можно прописывать свои методы строители.
Пикся старается не привьязывать пользователей к какой-то одной архитектуре.
На самом деле хватило бы нормального класса для HTTP Request/Response и простого роутера в стандартной библиотеке. Я уже молчу о том что поддержки HTTP/2 в языке нет ( .
Кстати рекомендую посмотреть на пиксю еще раз, мы чуть изменили дефолтную структуру бандла, чтобы было легче в понимании.
Никто не мешает, прошлый гайд показывал как передавать кастомные параметры конструктору вместо использования $builder повсюду, все это дальше работает и даже DI контейнер есть. Но в этот раз целевая аудитория более широка и хотелось сделать как можно проще.
Если вы хотите передать кастомные параметры процессору достаточно создать метод типа:
namespace Project\App;
class HTTP
{
// ...
public function buildSomeProcessor()
{
return new HTTP\Some(...);
}
}
вместо того чтобы прописывать его в $classMap, этот $classMap это шорткат для новичков и совсем не обязательный. Фреймворк общается с бандлом по интерфейсу, так что никакой магии нет и можно менять все что вздумается.
Мораль статьи такова: пишите нормальные тесты, тогда такие ошибки найдутся сами без всяких тулзов. А если деньги негде деть(я так понял полная версия платная) то купите подписку на Scrutinizer.
Тут в принципе и мерить нечего, все зависит от того какое хранилище вы используете. Посмотрел их код, и не увидел там ничего особенного что бы «ускоряло работу кэша в 7 раз» как пишет на гитхабе.
С ним так же может работать и Codeception. Фактически этот Даск это просто обертка над методами WireProtocol, так же как и сотня таких же библиотек. Ничего нового тут нет, просто красивый брендинг.
Вчера переносил с `name.com` на `namecheap.com` и по ходу регистраторы наколдовали. Написал в суппорт, до конца дня все восстановится. Если что, чат тут: https://gitter.im/PHPixie/Hotline
А Крым таки к себе на карте нарисовали...
Gitter по ходу упал, так что в чат не зайти =)
Но в чат к нам все равно заходите) Может со временем понравится =)
Ну пока вы первый кто захотел такую фичу =)
Заходите в чат обсудим, если другим будет интересно то запилить плевое дело =)
https://github.com/phpixie/database
Я просто считаю что проще что-то прикрутить в 3 строчки чем потом откручивать =)
Я же не могу за всех угадать кому какая автоматизация надо, кто-то захочет по неймспейсу грузить процессоры, кто-то по папке. А что если папки две или больше итд.
Если бы там много надо было прописывать я бы еще понял, но реально в 3 строчки можно сделать подгрузку по неймспейсу.
Я вот не могу понять, для вас прописать строчку в файле это реально лишняя работа? В таком случае вы всегда можете перегрузить 1 метод в 3 строки чтобы сделать поиск классов по папкам и неймспейсам, могу в чате показать как =)
Dependency Injection vs Service Location
Зависит уже от вашего уровня. Зачем вам фреймворк совсем? Поставьте Wordpress п программируйте формы мышкой =)
Карочн заходите в чат. Многое, типа ровной архитектуры трудно доказать в комментарии.
ну ок.
ОРМка которая поддержывает связи даже между разными типами бащ данных (можно связать таблицу мускула с коллекцией в монге). Возможность оперирования запросами хитрее (можно сразу одним запросом связать 20 постов к 40 тегам (суммарно 800 связей)) не прибегая к кастрмным запросам все на уровне ОРМ. ОРМ в отличии от елоквента например разделяет понятия репозитория, сущности и заппоса как доктрина. Поддержка Nested Sets с оптимизацией какая описана тут в отдельной статье. Словом в ОРМке фич много.
Система иерархии процессоров, котроая пощволяет настроить мидлвари хитро и качтомно и намного гибче стандартых контроллеров.
Плагабельна система автризации которая держится на интерфейсах.
Отсуствие статики и прочих антипаттернов а также инкапсуляция рантайма в контекст позволяет запустить пикси на ReactPHP практически из коробки.
Действительно независимые компоненты которые легко использовать без фреймворка.
Самый продвинутый из шаблонизаторов которые используют чистый PHP с поддержкой прикручивания своих синтаксов ( например за 2 минуты можно сделать маркдаун, хамл итд темплейтинг.
Отдельная независимая библиотека для базы данных, когда ОРМ недостаточно.
Красивая ровная архитектура.
Так тема с феечками уже давно пропала в принцыпе. Осталось только лого и то вполне абстрактное. Вы же не жалуетесь что на гитхабе тема с октокотом )
Черт много, так через комму написать трудно, заходите в чат расскажем )
Потому что не всегда хочется использовать этот $classMap. Более правильный подход передавать только нужные зависимости а не весь Builder. Тогда можно прописывать свои методы строители.
Пикся старается не привьязывать пользователей к какой-то одной архитектуре.
На самом деле хватило бы нормального класса для HTTP Request/Response и простого роутера в стандартной библиотеке. Я уже молчу о том что поддержки HTTP/2 в языке нет ( .
Кстати рекомендую посмотреть на пиксю еще раз, мы чуть изменили дефолтную структуру бандла, чтобы было легче в понимании.
Никто не мешает, прошлый гайд показывал как передавать кастомные параметры конструктору вместо использования
$builder
повсюду, все это дальше работает и даже DI контейнер есть. Но в этот раз целевая аудитория более широка и хотелось сделать как можно проще.Если вы хотите передать кастомные параметры процессору достаточно создать метод типа:
вместо того чтобы прописывать его в
$classMap
, этот$classMap
это шорткат для новичков и совсем не обязательный. Фреймворк общается с бандлом по интерфейсу, так что никакой магии нет и можно менять все что вздумается.Кстати, с выхода 3.0 мы еще не ломали обратную совместимость =)
С ним так же может работать и Codeception. Фактически этот Даск это просто обертка над методами WireProtocol, так же как и сотня таких же библиотек. Ничего нового тут нет, просто красивый брендинг.