Довольно редко, но все же иногда перед нами встает такая задача: есть несколько полей для загрузки файлов (input type=”file”), которые должны иметь одно и то же имя, т.е. по сути есть массив файлов, который нужно разом загрузить на сервер:
Сегодня я хотел бы посвятить статью начинающим, а также тем, кто уже имеет какой-то опыт программирования на PHP, но ни разу не сталкивался с так называемыми «магическими кавычками», но слышал про такие.
Сразу сделаю замечание: эта статья посвящена версиям PHP 4 и 5. В 6-ой версии PHP magic_quotes были убраны и считаются устаревшими (deprecated).
Как мы знаем, один из недостатков Смарти по отношению к Blitz – низкая скорость работы. Сегодня мы попытаемся хотя бы частично убрать этот недостаток с помощью механизма кэширования, заложенного в Smarty.
Кэширование – это такой механизм ускорения работы приложения, когда часто-считываемые данные сохраняются в особое место, откуда они могут быть извлечены очень быстро.
С точки зрения Смарти – это сохранение собранной в результате интерпретации шаблона страницы один раз и последующее ее отображение много раз уже без интерпретации. В результате время вывода определенной страницы в разы становится меньше, как будто бы смарти вообще не принимает участие в ее отображении (на самом деле фактически так и есть).
Сегодня я бы хотел подробнее рассмотреть механизм условий в смарти и коснуться еще чего-нибудь важного и интересного для данного этапа освоения этого шаблонизатора. Я уже слегка касался условий в предыдущей статье, а теперь хочу подробно рассказать о них, чтобы картина была полной.
Условия в смарти
Как вы уже поняли из предыдущей статьи, смарти обладает своими тегами. Теги условий выглядят следующим образом:
{if $a > $b}
B is less than A
{/if}
Это простое условие. Теперь простое ветвление:
{if $a > $b}
B is less than A
{else}
A is less than or equal to B
{/if}
Продолжаем тему шаблонизаторов и сегодня рассмотрим наверно самый популярный из них – Smarty (Смарти). Точнее даже не рассмотрим, а начнем рассматривать, потому что у смарти довольно мощный движок, все возможности которого рассмотреть в одной статье думаю нереально.
Сайт проекта Smarty – .
Вот думаю, с чего бы начать…
Ага. Начну-ка с установки. Я еще недавно рассматривал другой шаблонизатор Blitz в этой статье. Так вот, там я писал, что его нужно ставить как отдельное расширение PHP. Теперь спешу всех успокоить: смарти не обладает таким недостатком, поэтому его можно использовать в любом проекте. Читать далее »
Мне кажется, что пора уже рассматривать тему шаблонизаторов – специальных библиотек для построения шаблонов. Проблема любого крупного проекта, я думаю, – отделение дизайна от кода (т.е. html-страниц от php-кода). Зачем это делать? Ну на то конечно есть причины. Во-первых, разделенные дизайн и код легче поддерживать и изменять.
Во-вторых, если на сайте нужна смена скинов, без шаблонов не обойтись, потому что для каждого скина придется дублировать все php-файлы (код), а это не есть хорошо (потому что отнимает много времени) для постоянно изменяющегося кода в результате воздействия заказчика
Так вот, существует множество шаблонизаторов, из которых я бы воспользовался одним из двух: Smarty и Blitz. О Smarty мы поговорим в других статьях, а в этой коснемся Blitz – шаблонизатора, о котором я совсем недавно узнал, в отличие от Smarty. Читать далее »
Начинаю постепенно добираться до темы распознавания каптчи. Первой проблемой на моем пути оказалось банальное неумение работать с графикой в php
Изучить основные функции задача не сложная, но нужная. К тому же, используя только их можно получить довольно интересные результаты.
Приступаем.
Работа с графикой в php, в большинстве случаев, проходит в 3 этапа.