Comments 9
UFO just landed and posted this here
Это так трогательно, смотреть на метания вроде Blog\Post\Entities и Blog\Post\Post.
0
> Почему такие вопросы появляются только у php разработчиков?
возможно потому что у php эта фича появилась совсем недавно?
возможно потому что у php эта фича появилась совсем недавно?
0
jpg бесит.
+5
Боюсь показаться невежественным но собственно при чем тут NameSpace?
Проблема:
> Нам не нравятся толстые, неуклюжие Контроллеры, которые, как слон в посудной лавке, по неосторожности могут раздавить все приложение.
> Нам не нравятся также толстые Модели. Ну а кому они нравятся? Они должны быть достойны подиума!
И решение: назвать обёртку для PDO моделью…
вот это фокус! :) а нэймспейсы ради нэймспейсов нет?
Проблема:
> Нам не нравятся толстые, неуклюжие Контроллеры, которые, как слон в посудной лавке, по неосторожности могут раздавить все приложение.
> Нам не нравятся также толстые Модели. Ну а кому они нравятся? Они должны быть достойны подиума!
И решение: назвать обёртку для PDO моделью…
вот это фокус! :) а нэймспейсы ради нэймспейсов нет?
+2
У вас хороший стиль, красивые обороты, но я не увидел как вы использовали Namespace, чтобы у вас и контроллер и модель стали тонкими.
Они не просто «хорошо связаны». Они замурованы друг в друга насмерть и во веки веков, аминь. Для тестовой конфигурации вам придется кромсать класс модели.
Вся мощь контроллера кроется в фабричном методе… =/
Как?
Так в чем же соль и сахар рассказа? В удивительном autoload?) Я серьезно не понял((((
В результате нам удалось создать структуру приложения, где все компоненты хорошо связаны, при этом мы добились четкого разделения классов,
Они не просто «хорошо связаны». Они замурованы друг в друга насмерть и во веки веков, аминь. Для тестовой конфигурации вам придется кромсать класс модели.
где каждый класс выполняет свою задачу. Контроллер у нас тонкий и в то же время мощный. Модель под стать ему. Идеальная семья!
Вся мощь контроллера кроется в фабричном методе… =/
И все багодаря Namespace.
Как?
Так в чем же соль и сахар рассказа? В удивительном autoload?) Я серьезно не понял((((
+3
Именования выносят мозг (назвать модель — DB, приэтом смешать доступ к базе и собственно управление моделью данных — это надо уметь).
Может быть вам сначала стоит разобраться как использовать MVC, а потом уже идти дальше?
PS А суть неймспейсов так и не раскрыта… Исходя из написанного — только в удобстве подключением автолоадером
Может быть вам сначала стоит разобраться как использовать MVC, а потом уже идти дальше?
PS А суть неймспейсов так и не раскрыта… Исходя из написанного — только в удобстве подключением автолоадером
+4
В результате нам удалось создать структуру приложения, где все компоненты хорошо связаны, при этом мы добились четкого разделения классов, где каждый класс выполняет свою задачу.
Почитайте пожалуйста значения, смысл и разницу между Cohesion и Coupling.
Также посмотрите реализацию многих компонент (для примера Symfony HTTP kernel, Symfony Routing) и проанализируйте, почему они реализованы именно так, а не иначе.
Ну и также я думаю этот материал будет полезен для чтения. Желательно читать полностью, особенно про namespace
P.S. В описанном в статье решении сами namespace не имеют абсолютно никакого значения. То же самое можно было реализовать и на более старой версии PHP без их поддержки.
+1
Sign up to leave a comment.
PHP NameSpace — как же все-таки его готовить?