Comments 31
велосипед #100500 «Подготовка салатов из логики и представления методом смешивания без применения миксера». как-то так :-)
Вы правы в том, что я не вижу смысла заменять логику с пхп на нечто, что в конечном итоге будет все равно преобразовано в тот же пхп )) По-моему, пхп достаточно прост для верстальщиков, не встречал верстальщиков с таким барьером.
И рано или поздно в шаблоне кто-нибудь напишет mysql_query()…
Шаблоны сайта, также как и доступ к фтп, это не место для кого-нибудь.
На мой взгляд — для пхп разделение хтмл-верстки и пхп-кода надумана. В силу простоты языка пхп. Личный опыт работы в индустрии подтверждает это.
На мой взгляд — для пхп разделение хтмл-верстки и пхп-кода надумана. В силу простоты языка пхп. Личный опыт работы в индустрии подтверждает это.
Это не место для кого-нибудь пока им пользуюсь я один.
Хотя меня и самого частенько разрывает желание сделать «попроще»: написать там css в html-е ну или там какие-нибудь данные получить в шаблоне пока никто не видит.
И вот если мне это удается, я, конечно, себе говорю: «вот щас клиенту покажу, и потом нормально перенесу в нужное место». Как правило это вот «потом» не наступает никогда.
Ну а так как в студии работаю ни я один — то количество таких вставок растет геометрически. И рано или поздно это все превращается в один большой комок лапши, в котором уже непонятно какой файл нужно править если я хочу изменить количество новостей на странице.
Архитектура приложения должна жестко задавать поведение разработки. Если что-то можно написать не там — это будет написано не там.
Хотя меня и самого частенько разрывает желание сделать «попроще»: написать там css в html-е ну или там какие-нибудь данные получить в шаблоне пока никто не видит.
И вот если мне это удается, я, конечно, себе говорю: «вот щас клиенту покажу, и потом нормально перенесу в нужное место». Как правило это вот «потом» не наступает никогда.
Ну а так как в студии работаю ни я один — то количество таких вставок растет геометрически. И рано или поздно это все превращается в один большой комок лапши, в котором уже непонятно какой файл нужно править если я хочу изменить количество новостей на странице.
Архитектура приложения должна жестко задавать поведение разработки. Если что-то можно написать не там — это будет написано не там.
$fp = fopen($end, "w+")
За такое надо по рукам бить.
поясните?
Видимо это намёк на file_put_contents
Открытие файла на запись в режиме «w+» я считаю в корне неправильным.
Если вы имели дело с большими нагрузками, то должны знать, что в такие fopen'ы может одновременно влезть несколько запросов.
Следует писать
Если вы имели дело с большими нагрузками, то должны знать, что в такие fopen'ы может одновременно влезть несколько запросов.
Следует писать
$fp = fopen($end, "a+");
flock($fp, LOCK_EX); // блокируем файл
// делаем все нужные операции
flock($fp, LOCK_UN); // снимаем блокировку файла
Ясно. В своей практике вы сталкивались с таким конфузом. Объявите тогда и обстоятельства подобного случая. Что вы подразумеваете под большими нагрузками?
У меня были странички с посещениями 4 в секунду, при том что страничка перезаписывала 300 новых страниц, по указанной в статье схеме. Проблем не замечено.
У меня были странички с посещениями 4 в секунду, при том что страничка перезаписывала 300 новых страниц, по указанной в статье схеме. Проблем не замечено.
Представьте ситуацию. Пользователи u1 и u2 выполняют запрос с разницей во времени 0.01сек, что намного меньше времени работы скрипта. Пользователь u1 очищает файл модификатором w+, пишет в него данные. Делает «еще что-то». В то время, как u1 делает «еще что-то», в этот процесс вклинивается u2, стирает файл, а это время u1 запрашивает его для отображения. Что увидит u1, думаю не секрет…
С теорией согласен. У вас реально были подобные случаи, ошибки?
зы. Я не сис.админ, но по-моему в апаче настраивается макс. количество одновременных соединений.
+ на подобного рода нагруженных проектах, на сколько мне известно, решение пишется сугубо индивидуальное, после анализа слабых мест и принятия какой-то внятной стратегии для оптимизации ресурсов. Возможно ваш опыт говорит иное.
зы. Я не сис.админ, но по-моему в апаче настраивается макс. количество одновременных соединений.
+ на подобного рода нагруженных проектах, на сколько мне известно, решение пишется сугубо индивидуальное, после анализа слабых мест и принятия какой-то внятной стратегии для оптимизации ресурсов. Возможно ваш опыт говорит иное.
Да, один раз было. Года 2-3 назад, точно не вспомню. Сейчас бы совершенно иначе выполнил реализацию алгоритма.
если в с чем-то не сталкивались в своей практике, то это еще ничего не значит. если несколько потоков создают\пересоздают файл, его обязательно надо лочить. ну или выставлять флаг, который кстати тоже надо лочить, если это файловая система.
а чем smarty со своим наследованием шаблонов не подошел?
а чем smarty со своим наследованием шаблонов не подошел?
У меня просто нет слов…
Изобретение Layout'a
Погуглите на тему Layouts, Views, View model. Тот же Zend_View в качестве примера или Symfony. Идея использовать PHP в качестве шаблонизатора — хорошая (по скорости), но сейчас реализуют её совершенно по другому. Разделяйте мух от котлет, логику от представления, интерфейс от реализации.
Из придирок:
На кой Вам определять OS когда есть константы PATH_SEPARATOR и DIRECTORY_SEPARATOR?
if ( !empty(load::$path[0]) )
— антипаттерн Magic Numbers, как минимум надо писать load::isIndex()На кой Вам определять OS когда есть константы PATH_SEPARATOR и DIRECTORY_SEPARATOR?
Увидел расширение *.tpl, думал что-то интересное про Smarty, а тут — аля «изобретаем Smarty, ни разу его не видя» :))
С баша: изобрели терагерцовый процессор. Ура, можно писать еще больше говнокода!
Не обижайтесь, но изобретение велосипеда из костылей — не самая лучшая идея. Может посмотреть другие проекты, изучить код и логику, а потом уже изобретать что то по-настоящему полезное?
Не обижайтесь, но изобретение велосипеда из костылей — не самая лучшая идея. Может посмотреть другие проекты, изучить код и логику, а потом уже изобретать что то по-настоящему полезное?
Sign up to leave a comment.
PHP-Матрёшки или Шаблоны для любого сайта из 8 строчек