Pull to refresh

Comments 33

=) Когда-то давно, я тоже поьлзовал Smarty… но потом перешел на нативную. Сейчас уже не прогаю на пэхапэ. Но как воспоминания…
Интересно а есть какая-нибудь реализация на подобии haml slim?
Когда-то давно, я тоже поьлзовал Smarty… а потом мне прострелили колено
Не поверите, но это неплохая практика.
Сразу оговорюсь что реализовывать все возможности языка не стоит. Хватит и основного что бы пару вечеров чесать голову.
Есть один человек, который пишет парсер PHP на PHP… и тем самым неплохо продвинулся в изучении PHP.: )
Я писал парсер JS на C#, и неплохо подучил оба языка.
Плохо.
1. В загрузчике классов нет проверки на существование файла. Зато есть жесткая привязка к правилам именования (вместо использования пространств имен) для определения типа класса.
2. config.php включается несколько (много) раз. Зачем?
3. Маршрутизация прямо в точке входа. Свои маршруты определить нельзя — все только через mod_rewrite — спорное решение.
4. В методе redirect нет проверки на headers_sent
5. Буферизации вывода нет
6. CDBConnection — «Одиночка». Подходит только для очень простых проектов. К тому же жестко прописана mysql.
7. CModel — копипаст методов из CDBConnection. Хотя можно было просто вызывать через __call.
спасибо за конструктивную критику.

п.1 верно подмечено, нет namespace, это появилось в 5.3 (если не ошибаюсь), одна из причин разработки заключалась в отсутствии php 5.3.

п.3 подразумевалась простота использования, создание правил маршрутизации уже выходит за эти рамки, но прикрутить это стоит, учту

п.6 Чем плох одиночка?
Про одиночку уже много сломано копий на Хабре. Главное: нерасширяемый (в рамках PHP 5.2), нетестируемый. Могут быть проблемы при конкурентном доступе, так как это фактически глобальный объект.
Можно по подробнее про конкурентный доступ? Синглтон, вроде, глобален в рамках скрипта, но не сервера.
Могут быть, если есть возможность записи. Если же оодиночка используется как адаптер/прокси, то именно этой проблемы не будет. Если у него нет возможности установить адаптер через setter, то нормально, в противном случае — это дыра.
Все равно не понял. Можете на пальцах объяснить в какой ситуации могут возникнуть проблемы конкурентного доступа, при использовании одиночки?
Вот тоже интересно, как по мне условия гонок можно в любой ситуации работы с ограниченными ресурсами воспроизвести. И именно паттерн тут особо роли не играет. Я не прав?
Плохо тем, что в несложном проекте мне встретилась необходимость подключиться к другой базе данных (брать оттуда данные по авторизации).
Кроме того, некоторые программисты предпочитают, чтобы один пользователь mysql работал только с правами на чтение, а другой — только на запись/удаление.
Вообще, все не предвидишь.
Очень заметно влияние Yii на автора. А если по делу, то Yii можно сжать до 200-500кб (убрать комментарии, i18n, скрипты, консольное приложение, тесты, html purifier, лишние обёртки для разныб баз и wii).

Эту тему много раз обсуждали. Намного дешевле хранить лишние 10мб, чем вырезать то, что я указал.
Забавно, yii видел очень давно, когда еще 1 версия была, причем мельком. Скорее должно быть заметно влияние ci.
Опять же, вы отошли от темы, движок писался исходя из ограничения на версию php.
Не отрицаю, есть много разных разработок, что видел мне показалось не удобным.
UFO just landed and posted this here
Гибче не значит удобней.
В моем случае было проще наследование от CBaseObject, зачем мне делать дублирование методов?
«Архитектурная красота» не идентично «Эффективность решения».
Потому что это пассивная модель MVC. Она тоже иногда удобна. Но только иногда.
CI/Kohana — большие фреймворки? Извините, а какие тогда маленькие
очередной мануал «как написать свой CodeIgniter» за один вечер?
> Периодически встает задача написать какой-либо небольшой функционал, использовать для этого большие framework типа Zend/Yii/CI/Kohana и прочее либо не хочется, либо нет возможности.

Я поехал сегодня на метро потому что мой бентли такой большой, бензина много жрет, на дорогах пробки…
случайно отправил(продолжение):

На самом деле нет у меня бентли и машины — нет. Просто у вас нет достаточно опыта в выше описаных фреймворках чтоб их бысто развернуть и настроить под себя. Я это так понимаю.
Троллизм процветает?
Просто не люблю аргументы «типа этот фреймворк такой большой, давайте напишем тоже самое но свое». Можно подумать их его наизусть учить заставляют. В наше время лишние 20мб на жестком диске ничего не решают.
Читайте внимательней, выше описано почему был написан свой движок.
+ не зацикливайтесь на уже существующих технологиях, а я здесь вижу именно это.
> установить выше перечисленные framework не было возможности

Ого! А это как? Хостер рубил файлы по знакомым именам? :) Раздел «актуальность» не убедил. Уж написали бы просто, что хотелось что-то свое свелосипедить…
в таком случае, установите последнюю версию yii/ci/kohana на php 5.1
Жду результат, обновить php нет возможности.
Время пошло )
тогда уж сразу скажите, что PHP нет. И уж по-любому это не «он не столь мощен как бренды, но для ряда задач — оптимален», согласны? :)
Странная у вас ситуация. На моем хостинге уже 5.4 развернут.
5.1 даже просто по соображениям безопасности уже не стоит использовать. С тех времен в php исправили много довольно критичных уязвимостей.
Sign up to leave a comment.

Articles