Чтобы разрабатывать с использованием фреймворка нужно гораздо больше знаний и опыта, чем написание простых функций, раскиданных по сотне файлов. Все просто — чтобы использовать фреймворк нужно хотя бы иметь представление о принципах, которые лежат в его основе, поэтому требование опыта работы с фреймворком вполне обосновано.
Если уж есть какой-то готовый проект, который до тебя писала орда говнокодеров, то обладая какими-то навыками построения приложений есть смысл как-то сбоку прикрутить свой фреймворк, аккуратно его подцепить, чтобы и старое работало и новое писать было удобнее. В случае, когда есть уже существующая система к ней гораздо легче прицепить свой фреймворк, чем прицепить Yii/Cohana/CI/etc. Причина очень проста — каждый разработчик знает свой фреймворк гораздо лучше, чем любой из готовых, знает, как с минимальными изменениями адаптировать его под нужны уже имеющегося приложения.
У меня у самого была такая же ситуация. Есть проект, который просто написан стихийно на коленке, достаточно неплохо работает, но к нему нужно написать много сложных дополнений. Комментарий в коде практически никаких, зато есть собственный фреймворк, который можно урезать и как основу новых модулей использовать. Вроде бы и старый код продолжает работать и рефакторить его не надо, с другой стороны и зависимость нового кода от старого минимальна.
А переход на распространенный фреймворк обоснован, как минимум, тем, что он распространенный. Узких мест в нем найдено гораздо больше, багов и вариантов использования протестировано также гораздо больше. Да и база готовых модулей сильно сокращает время разработки.
Причем использование геттеров, на мой взгляд, более оправдано, так как позволяет гораздо быстрее делать (кодить представления). Написал геттер, который через LazyLoad получает нужные объекты и сразу можешь к нему обратиться в представлении без необходимости вручную передавать контроллером — модель подгружает себе данные по мере обращения к ним.
Контроллер не должен заниматься из обработкой, это задача либо модели, либо сервисного слоя. Контроллер передает вызовы от одного к другому, максимум — содержит простую логику, максимум, собрать все необходимые объекты чтобы отдать их модели.
Спорить не буду, лишь отмечу, что концепции MVC это не противоречит. Можно в контроллере вбить передать значения свойств в представление, можно получать эти значения сразу в представлении.
Первое что было бы очень полезно — рецепты в печатном виде, не важно, в бумажном или электронном. Вчера сходил, так мало того, что не понятно, что я должен принимать, так еще и не понятно сколько раз в день — криптоустойчивые у врачей даже цифры.
Поэтому. Сегодня мы стартуем с чистого листа. Добро пожаловать на борт ковчега.
Сейчас занимаемся крупным программным продуктом, который разрабатывается уже лет 10 и до нас писали его уже команды 3-4. Как же хочется зарефакторить все, а нельзя :(
Оставлю и свой комментарий. Изучал философию уже два раза — в университете и при подготовке к сдаче кандидатского минимума.
В университете первый раз философия преподавалась на первом курсе, где из нее ничегошеньки не ясно, так как это оторванная дисциплина, которая слишком сложна для восприятия бывшим школьником (вот да, именно так и багажа знаний в этот момент явно недостаточно для понимания проблем философии). Вместе с философией нам тогда преподавались еще 3-4 смежных (как позже оказалось) дисциплины — культурология, история, психология, педагогика, социология и т.п., но это были все отдельные дисциплины, междисциплинарных связей не установлено никаких.
А к чему это я все? Все, кто изучал теорию систем, системный анализ, информационные системы и прочие системные дисциплины очевидно, что все они связаны между собой, одна дисциплина построена на базе другой и междисциплинарные связи легко прослеживаются.
Почему же, скажите, в технических вузах никто не удосуживается провести междисциплинарные связи между гуманитарными дисциплинами, когда это крайне необходимо. Да, и в этом случае философия как раз-таки и выступит центральным звеном всей цепочки.
Возможно, но за счет инкапсуляции это сделать проще. Согласен, не настолько просто, как собирание софта из готовых модулей, но значительно легче, чем перенос кучи слабосвязанных функций.
У меня у самого была такая же ситуация. Есть проект, который просто написан стихийно на коленке, достаточно неплохо работает, но к нему нужно написать много сложных дополнений. Комментарий в коде практически никаких, зато есть собственный фреймворк, который можно урезать и как основу новых модулей использовать. Вроде бы и старый код продолжает работать и рефакторить его не надо, с другой стороны и зависимость нового кода от старого минимальна.
А переход на распространенный фреймворк обоснован, как минимум, тем, что он распространенный. Узких мест в нем найдено гораздо больше, багов и вариантов использования протестировано также гораздо больше. Да и база готовых модулей сильно сокращает время разработки.
<?php foreach ($someArr as $item) : ?> ... здесь какой-то вывод ... <?php endforeach; ?>
и
<?php foreach ($model->getSomeData() as $item) : ?> ... здесь какой-то вывод ... <?php endforeach; ?>
Представление также инкапсулировано от модели геттерами как если бы через эти же геттеры нужно было получить данные в контроллере
Толстый контроллер не айс.
Сейчас занимаемся крупным программным продуктом, который разрабатывается уже лет 10 и до нас писали его уже команды 3-4. Как же хочется зарефакторить все, а нельзя :(
Прослезился…
В университете первый раз философия преподавалась на первом курсе, где из нее ничегошеньки не ясно, так как это оторванная дисциплина, которая слишком сложна для восприятия бывшим школьником (вот да, именно так и багажа знаний в этот момент явно недостаточно для понимания проблем философии). Вместе с философией нам тогда преподавались еще 3-4 смежных (как позже оказалось) дисциплины — культурология, история, психология, педагогика, социология и т.п., но это были все отдельные дисциплины, междисциплинарных связей не установлено никаких.
А к чему это я все? Все, кто изучал теорию систем, системный анализ, информационные системы и прочие системные дисциплины очевидно, что все они связаны между собой, одна дисциплина построена на базе другой и междисциплинарные связи легко прослеживаются.
Почему же, скажите, в технических вузах никто не удосуживается провести междисциплинарные связи между гуманитарными дисциплинами, когда это крайне необходимо. Да, и в этом случае философия как раз-таки и выступит центральным звеном всей цепочки.