AntiXrist (24 Февраля 2011 / 13:42)
ООП нужно использовать с умом, а не везде его пихать.В этом отношении мне нравится JohnCMS, довольно грамотно все сделано
Что конкретно там грамотно реализовано можешь написать? Я даже ради интереса скачал чтоб глянуть, нечего грамотного я там не увидел и вообще сами классы из \incfiles\classes далеко уходят от самой идее ООП
core.php - Тут ещё ладно, но всё равно не вижу смысла в этом классе, половину методов user_* вообще можно было вынести в отдельный класс и так было бы логичней, а все остальное вернуть как раньше было и не лепить горбатого, и к тому же некоторые методы вообще лишние
comments.php - Вообще сложно назвать классом, это тоже самое что взять весь код ротора в claass rotor{...__construct(){}} и потом выводить содержимое echo new rotor(); я конечно образно говорю, работать то не будет, но думаю суть примера понятна
functions.php - Где же тут грамотный ооп? тут просто набор методов которые совершено не имеют связи, смысла в нем я не вижу, я конечно понимаю что автор хотел сделать, он хотел изолировать все функции чтоб не было конфликтов с левыми модулями в которых есть функции с похожими именами, вообще достаточно было добавить ко всем функциям прификс к примеру JohnCms и как я уже говорил не лепить горбатого. Не стоит забывать что вызов метода в разы медленней вызова обычно функции и в итого этим классом автор просто ухудшил скорость работы движка, короче говоря это не ооп
mainpage.php - Я смотрю в нем только методы относящиеся к новостям, вообще не понятно зачем они там, всему этому делу место в какой нить model_news, а из mainpage::news вообще можно сделать просто веджет и не пихать его в класс ещё и вместе с разметкой.
======
Вообще я не люблю обсуждать чужие косяки и кричать что все гoвно кодеры итп, это так сказать не в моем стили, так что если чо, я не чем не хотел обидеть атора кода, а отписал лишь потому что ты заявил что там грамотно все реализовано. Короче говоря нужно обосновывать свои слова ато вон новички сейчас прочтут твой пост и пойдут учится ООП с такого "грамотного" примера
PS "ООП нужно использовать с умом, а не везде его пихать." вот как рас таки в джоне оно используется не с умом и пихается совсем не там где оно нужно
Изменил: Lugaro (27.02.2011 / 18:42)