Вопрос-Ответ по ООП PHP

Печать RSS
2696

В
Автор
Пацак
0
Видно мало здесь ООПщиков sad

ツ ツ ツ
0
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)
С

Малиновые штаны
0
.::lugaro::. (27 Февраля 2011 / 18:38)

functions.php - Где же тут грамотный ооп? тут просто набор методов которые совершено не имеют связи, смысла в нем я не вижу, я конечно понимаю что автор хотел сделать, он хотел изолировать все функции чтоб не было конфликтов с левыми модулями в которых есть функции с похожими именами, вообще достаточно было добавить ко всем функциям прификс к примеру JohnCms и как я уже говорил не лепить горбатого. Не стоит забывать что вызов метода в разы медленней вызова обычно функции и в итого этим классом автор просто ухудшил скорость работы движка, короче говоря это не ооп

Ну прямо уж ты загнул в разы )) Конечно медленнее, но "на", а не "в"
Например при вызове статического метода и обычной функции в которых просто возвращает результат
return htmlspecialchars(trim($str), ENT_QUOTES);
на строке
$str ='1234567890-=qwetyuioopp[]\adfghjkl;;sdfgujhj';
при 10000000 итераций (на денвере тест был)
Метод проигрывает всего на 4 секунды (26 и 22 сек соответственно)
Конечно хз что там на джоне и как оно там все организовано, но по стравнению с вордпресом и его классами джон просто мегабыстр и мегалегок .

ツ ツ ツ
0
83. sanzstez, Ну в разы, да, оговорился, но сути это не меняет, пользы от самого класса не какой кроме как более медленная работа и затрата оперативной памяти. Там просто взяли весь набор функций которые раньше были в \incfiles\functions.php и впихнули их в класс, грамотным ООП'ом это сложно назвать
Конечно хз что там на джоне и как оно там все организовано, но по стравнению с вордпресом и его классами джон просто мегабыстр и мегалегок
Ну по сути в джоне то и классов нет, в папке \incfiles\classes я всего 4 фала нашел
А

Землянин
0
Подскажите как сделать страницу типа http://site.ru/index.php?id=1
М

Пацак
0
$_GET['id']
А

Землянин
0
Нет это я понимаю а как там страницу создавать в индексе чтоб именно с этого места было ид 1 а с другого ид 2 и т.д

[̲̅$̲̅(̲̅ιοο̲̅)̲̅$̲̅
0
87: Php-coder, ну если я тебя так понял то через switch-case
Изменил: ZipeR (16.03.2011 / 12:15)
А

Землянин
0
А код с примером можешь написать?
С

Малиновые штаны
0
89. Php-coder, товарищь! Ты темой ошибся. Тебе в общие вопросы.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск