SPHERUS php framework

beats

Новичок
Здравствуйте. Есть такой framework, который называется SPHERUS. Ему уже лет семь и на нем успешно работает много сайтов, просто никто никогда это не афишировал. За эти годы он вырос до второй версии. С месяц назад я решил что настала пора для третьей версии. Сделал репозиторий на GitHub-е, он публичный. Эта версия написана на php, хотя есть порт и под .Net.

Что на Гите:
- ядро, хотя не до конца
- система модулей
- routing в первоначальном виде (как раз над этим работаю)
- зачатки хелперов

Чего еще нет (хотя есть во второй версии):
- компоненты (paginator, grid, tab control etc...)
- основная часть хелперов
- онлайновый IDE
- ORM
- логгер
...и еще много чего, может забыл упомянуть

Очень хочется мнение круппы по поводу кода, подхода и.т.д:
- качество кода
- оформление и комменты
- архитектура и подход
- скорость и оптимизация

Любая критика приветсвуется, буду очень внимательно относится к любому замечанию и пожеланию. Очень хотелось бы чтобы девелоперы которые знают другие языки поделились с особенностями "своих" языков, может быть будет смысл что-нибудь взять...

Длинновато получилось. Надеюсь на feedback.
урл: https://github.com/spherus/sourcecode
 

Ragazzo

TDD interested
Бегло посмотрел: не понравилось следующее - злоупотребление константами глобальными (пути - лучше использовать алиасы), особенно в exception у вас, можно было просто их в класс внести, со стилем кода тоже какие-то непонятки - где-то файлы начинаются с табов, а где-то нет, по сути многие компоненты это видимо синглтоны (Response, ...), значит ни о каком DI идти речи и не может, свой компонент не подставишь :( Из понравившегося наверное стремление к "оопичности", но с этим надо не переборщить конечно :) а так наверное для своих поделок норм, но особо глубоко в код я не лез.
 

beats

Новичок
Бегло посмотрел: не понравилось следующее - злоупотребление константами глобальными (пути - лучше использовать алиасы), особенно в exception у вас, можно было просто их в класс внести, со стилем кода тоже какие-то непонятки - где-то файлы начинаются с табов, а где-то нет, по сути многие компоненты это видимо синглтоны (Response, ...), значит ни о каком DI идти речи и не может, свой компонент не подставишь :( Из понравившегося наверное стремление к "оопичности", но с этим надо не переборщить конечно :) а так наверное для своих поделок норм, но особо глубоко в код я не лез.
Спасибо за комментарий. По TODO я перевожу все табы на пробелы, это чтобы соответствовать стандарту PSR. В том же TODO есть пункт: Implement Dependency Injection, Это значит что переделаю синглтоны. По сути все Ваши замечания есть уже в этом файле (https://github.com/spherus/sourcecode/blob/master/todo.md), но спасибо за конструктивную критику

P.S. С константами Вы правы, перенесу, а то при появлении DI будет сложновато. Еще раз спасибо...
 

AmdY

Пью пиво
Команда форума
beats
csfixer натрави и он всё что можно поправит по форматированию, минутное дело.

Я что-то не нашёл ОРМ, да и вообще такое чувство что кроме контроллеров и вьюхи ничего не реализовано? или проект не весь или я какую-то папочку пропустил.
 

beats

Новичок
beats
csfixer натрави и он всё что можно поправит по форматированию, минутное дело.

Я что-то не нашёл ОРМ, да и вообще такое чувство что кроме контроллеров и вьюхи ничего не реализовано? или проект не весь или я какую-то папочку пропустил.
Не весь, я хочу более-менне отрефакторный код публиковать. Там много еще чего нету (это я написал в оисание темы)
 

beats

Новичок

beats

Новичок
https://github.com/spherus/sourcecode/blob/master/App/Themes/Default/Layouts/Default.php

что, серьезно? а как на конкретной странице вставить динамически генерируемый title и метатеги, или добавить css/js?
В принципе так же как и в примере котрой вы указали. Можно вообще не использовать Layout
 

fixxxer

К.О.
Партнер клуба
DI а шаблонах? OMG. Блоков вполне достаточно :)
Кстати, лучше не навязывать template engine, а позволять пользоваться любым вменяемым. У меня было бы первое желание прикрутить Twig, например.
 

Ragazzo

TDD interested
fixxxer
Да нет, понятно про PSR, но в данном случае можно было отойти от стандарта, хотя это и тема для холивара, так что ок :)
 
  • Like
Реакции: WMix

Ragazzo

TDD interested
fixxxer
что значит блоков? DI в шаблонах == DI рендер я так понял, или что ты хотел сказать неверно?
 

fixxxer

К.О.
Партнер клуба
fixxxer
Да нет, понятно про PSR, но в данном случае можно было отойти от стандарта, хотя это и тема для холивара, так что ок :)
Там по каждому пункту у кого-то может возникнуть желание отойти от стандарта - в итоге будет бардак. Вот мне, например, совершенно непонятен принцип расстановки скобок, выглядит как компромисс между тупо- и остроконечниками. :)
 

Ragazzo

TDD interested
Там по каждому пункту у кого-то может возникнуть желание отойти от стандарта. Мне, например, совершенно непонятен принцип расстановки скобок, выглядит как компромисс между тупо- и остроконечниками. :)
ну да, поэтому в основном используют framework-coding-style если можно так сказать.
 
Сверху