Да. Шаблоны это сила! http://php.net/include/layout.inc http://php.net/include/mirrors.inc http://php.net/include/langchooser.inc ну и там рядом другие. Только мне кажется, что они ставят под угрозу безопасность сайта.
Штаны Это никакие не шаблоны, а просто вспомогательные файлы с кривым расширением Храни шаблоны в базе данных, в чем проблема.
на php.net с рождения была ссылка на каждой странице сайта -- show source. вы можете получить php-код любой страницы и рыться в своё удовольствие. он красиво расцвечен и прибамбасики всякие там слева, включая список инклудов. короче, всё для самообразования. и, хотя мне не нравится, что у них каждая страница обрабатывается динамически вместо использования прегенерации, я категорически приветствую сам подход к открытию кода. исключительно для образовательных целей, естественно.
С кривым расширением?? Если бы у этих файлов было расширение php оны бы при загрузке по отдельности – выполнялись. А так они выполняются когда собраны до кучи. По-моему это разумно. Мне кажется, что между спокойным уверенным сном и взломанным сайтом, прямой связи нет. Точно! Увидел. Не знал.
Ну вы же понимаете, что существует человеческий фактор. Можно что-то не учесть, не выполнить какую-то проверку и при этом думать что все учтено и все надежно проверяется. Так нужно наугад искать эти огрехи, а тут все на виду.
Штаны, понимаешь, этим и отличается программист от кодера. Кодер будет искать «куда бы тут еще запихнуть проверку» а программист — направит весь ввод через метод фильтрации, и забудет о «проверках» до следующего проекта.
Тогда получается, что программистов вообще не осталось Вот даже здесь фильтруется, да не все http://php.net/?lang[] Что вы на это скажите?
А можно учесть чем и занимаются 0.01% программистов, а остальные пишут "говнокод" и думают что крутые программисты.
Если можно учесть все, то почему же нет такого универсального блока-кода (шаблона), который бы фильтровал вводимое значение, чтобы даже начинающий программист, мог вставлять его в свои скрипты?
Штаны, кто сказал что его нет? То что ты об этом не знаешь, не говорит, что его нет... у меня вот, есть...
Такие труды вряд ли кто выставлять будет, потому как на них потрачена уйма времени. Такие вещи продаются за неплохие бабки, а не разбазариваются на каждом углу.
http://dklab.ru/lib/DbSimple/manual.html#cont7 Почитай. У меня основано на этой библиотеке, точнее, выдран кусок и переделан под собственные нужды. Если надо, отдам в своем варианте.
Я ищу нечто универсальное, написанное более-менее оптимально. Чтобы подходило под нужды любого. Если у вас что-то такое есть, то покажите. Лично и исключительно мне показывать не нужно. Я PHP учу вторую неделю и поэтому оценить ваш труд по достоинству вряд ли смогу. А вот почитав на форуме отзывы знающих людей, думаю проникся бы смыслом идеи. Какие труды? Это одноразовый труд. Универсальный код проверки вводимого значения. Как говорится - бери и вставляй на каждую вводимую переменную. Например, в исходном положении этого универсального кода - все допустимые вводимые значения выключены. Далее программист зная какими должны быть значения переменной, берет и ОСОЗНАНО включает (ставит ON, убирает комментарии и т.д.) допустимый тип данных и задает интервал значений.
ага, это стандартная возможность php, но никто в здравом уме ею не пользуется, ибо данные нужно фильтровать в зависимости от того, куда они пойдут дальше, а не откуда они пришли. так фильтрация для вставки в базу данных - одна, для вывода клиенту - другая, для отсылки почты - третяя.
не самый разумный подход. ибо одни и те же данные могут быть выведены в html, записаны в базу, отосланы по почте, сохранены в лог-файл и переданы удалённому процессу. входные данные надо типизировать, чтобы быть уверенным, что числовые переменные содержат числа, строковые -- строки, а массивы содержат именно то, что должны. фильтровать нужно именно вывод, в зависимости от того, куда мы эти данные выводим.
dark-demon stas_t Вы о чем? В предыдущей мессаге автор говорит об автоматической валидации, а не экранизации данных. Большинство фреймворков так и устроено - при анализе GET-запроса параметры автоматически приводятся, проверяется диапазон, в наиболее экзотическом случае даже пропускаются через регэксп или функцию-валидатор.
ага, а потом получаются приколы типа вордпрессовского - постим html, а он сцуко strip_tags на входе применяет. и хоть убейся - даже если есть возможность редактирования поста - в поле редактирования тэгов не будет.
хм...а почему бы не хранить значения переменных в БД или XML....а шаблон писать виде: <html> <head> <title><?=$row[title];?></title> </haed> ???????
Так много шаблонизаторов в одном топике... вставлю и я пять копеек... Последнее время решил отказаться от Smarty в пользу Zend_View, если его использовать вместе с Zend_Cache - то получается очень даже ничего связочка (для большего юзабилити конечно пришлось класс Zend_View чутка расширить, если кому интересно читаем тут)...
не пойму, чё все так боятся xslt, но упорно пытаются придумать своё решение с ещё более громоздким синтаксисом...