zzeus, можно, но поддержка такого проекта - смерть. Понимаешь спроекты имеют свойство развиватся и изменятся. Архитектура построенная на ФП, имеет множество недостатков.
Почитай недостатки неудачной архитектуры на ООП и как это можно устранить. Эти же недостатки а то и в большей степени имеет архитектура на ФП, только там их нельзя устранить.
Chikey.ru,
Вот опять же это в тебе говорит то что ты не работал с нормальными системами, и работаешь в одиночку. Тут аррай служит для того чтоб когда ты решишь заюзать этот обьект нормальная IDE подсветит что этот обьект ожидает массив, а не что-то другое. А во вторых если кто-то эо просмотрит, то PHP сам ему об этом скажет. А не ты будешь искать в чем проблема.
Что такое максимальная приватность класса? Вообще private можно использовать только в final классах, в других надо protected. А во вторых, как бы тебе объяснить, это не моя прихоть, это архитектура на ооп. Когда ты отходишь от сборника функций собранных под эгидой класса, как это например используется тут или в джумле. Да практически везде. И когда уходим от излишней параметризации, так оно и выходит.
В чем принципиальная разница проверять на наличие интерфейса или перехватывать потом ошибку вызванную тем что обьект не соответствует интерфейсу. В том что в первом мы предупреждаем, а во втором подавляем(пусть даже и обработаем).
Это вообще лежит за плоскостью ООП. Это более базисный элемент.
И ты не прав, надо не ловить ошибки, а говорить о них. Рассмотри ситуацию, человек передал мне туда не тот объект. В моем случа при запуске ему на экран выведется ошибка "Ваш объект не реализовывает _такой_то_ интерфейс", он это увидет и сразу исправит.
В твоем случае передав например массив из 10 объектов и 1 не тот, класс сгенерирует fatal error необоснованно. Который, ты потом перехватишь. Но это из жопы. Прочитай на досуге что такое интерфейсы, для чего они служат. Если не делать проверки на интерфейсы - зачем тогда они вообще нужны.
Так что я бы советовал бы тебе сменить свое мнение о понимании тобой ООП. Но это так для тебя совет которым ты не воспользуешься :)
Зачем? На этом форуме 99.9% не знают ООП. Кому показывать? Что показывать?
Chikey.ru, вы не аргументируете свои посты, что я напишу кроме общих фраз? Я например не понимаю что такое принципиальность ООП.
Аргументируйте, напишите мне код который там должен быть и напишите почему.
Крайне спорное заявление, 90% программистов ПХП считают что знают ООП. Но в действительности, хорошо если 10-20%.
zzeus, граммотно можно писать и без ООП. Например биллинговые операции, платежные системы. Сложный распределенные системы только ООП. Ну еще можно AOP, или EOP. Но функциональное - выкинуть.
Chikey.ru, стандартное заявление человека не знающего ООП и не использующего его.
Какой прок от ООП, я не буду тут описывать эта тема холиварная. Невозможно доказать удобство. Все равно что автомат вс механика, причем человек на механике которому ты будешь доказывать никогда не ездил на автомате). Всю полноту ООП понимаешь когда делаешь серьезный проект с TDD.
bearman,
Да я не доверяю себе и другим людям которые будут работать. Как только они что-то всунут другое они увидят ошибку, а не будут 2 дня дебажить код.
zzeus,
конечно.
blogolet, естественно использовать значение по умолчанию зло, а eval - нет) Я с тобой согласен. И естественно Вы мне сейчас аргументируете почему по умолчанию использовать зло? Тем более тут носит информативный характер, чтоб программист знал что там массав.
В саллетитах и остальных говносайтов, несоизмеримо. Для хорошей цмс, да и вообще любого проекта соизмеримо.
А о процессорном времени вообще б не заикались. Грамотно написанная ООП цмс, работает быстрее чем былоджумлы, wp и Битриксы.
joost, правильно.
Вернее какой-то минус для молодых сайтов можно получить, но очень сложно.
Правильный ответ был бы отослать на http://phpfaq.ru/debug
Но раз ТС учит по Е.П. то это клиника и такой совет тогда допускается.
А что кто-то надеялся тут на тИЦ оО?
Мне не интересно что-то доказывать и показывать. Я не выставляю еще этот продукт. Я не расхваливаю) Я лишь привел что бывают цмс не в той площади в которой лежит WP, Joomla и т.д.
Кстати, если что с бывшим ведущим программистом Magento, который стоял в истоках, я пью периодически пиво. И он сказал что мое лучше.
class Core_Response{ protected $responseArray = array(); public function __construct( array $responseArray ) { $this->responseArray = $responseArray; } public function response( Core_Router_Chain_Interface $chainObject ) { foreach ( $this->responseArray as $responseClass ) { if( class_exists( $responseClass ) ) { $responseObject = new $responseClass(); if( !$responseObject instanceof Core_Response_Interface ) { continue; } if( false !== ( $answer = $responseObject->response( clone $chainObject ) ) ) { $responseObject->index( $answer ); break; } } } }}
укр яндекса нету хостов. мизерная популярность его на укр =)
думаю не большее 20%
1$ за тиц ежемесячно. гарантия BL 100+