Данная статья является простым введением в использование шаблонов Smarty с классами PEAR HTML_QuickForm. Статья не является исчерпывающим руководством, и фактически представляет лишь малую часть функциональности шаблонов Smarty. Однако для новичка в использовании шаблонов Smarty данная статья будет полезной базой.
Если нужно дать пользователю возможность загрузки нескольких файлов, традиционное решение на данный момент — использовать для этой цели flash (реже — java applet или activex). В случае, если соответствующий плагин недоступен, пользователю, как правило, показывают стандартный html-элемент для загрузки файла.
Последнюю ситуацию можно улучшить, если использовать встроенную в браузеры возможность множественной загрузки файлов. Из всех браузеров сейчас данную возможность не поддерживает только internet explorer (впрочем, мы ещё не видели девятую версию, может там что-то изменится), остальные браузеры — opera 9 и выше (а так же версии 3.5—6.05), firefox 3.6+, chrome 3.0.191.0+ и safari 4.0.1+ такую возможность предоставляют.
Выкладываю свой велосипед с:
В проекте, который я сейчас разрабатываю, возникла необходимость смены протокола, который используется для обмена данными между частями приложения. Сейчас, на уровне внутренних сервисов, обмен происходит через передачу сериализированных массивов РНР поверх TCP сокетов. Так как по обе стороны находятся приложения на РНР, проблем не возникает, формат пакета данных также стандартный, поэтому особых сложностей нет. Разве что часто меня не удовлетворяет скорость обработки, а также то, что мы сильно завязаны на язык и платформу. Если придется стыковать с другой системой или же переписать что-либо, будут сложности — ведь сериализированный формат поймет лишь родной язык, а писать парсер мне не очень хочется. Первоначальный выбор был более чем оправданным — скорость разработки и отладки были приоритетными, сейчас есть немного времени и желания посмотреть на архитектуру с высока и другим взглядом.

Производительность решений на PHP — частая тема различных споров и дискуссий. Мы не будем сейчас участвовать в них. Ведь как бы там ни было, все всегда зависит от конкретной задачи. К примеру, мне известен достоверный случай, когда некий программный код в течение полутора года переписывали на Ассемблере. Изначально он был написан на Си. Когда работы завершились, позади остались сотни рабочих дней большой группы разработчиков, а на руках — версия ПО, полностью написанная на Ассемблере. Какое же было удивление команды, когда в итоге их творение на Ассемблере заработало гораздо медленней их же, более раннего творения на Си!
7 июня вышла очередная ежемесячная версия фреймворка Yii — 1.0.6. Рассмотрим список и немного деталей самых примечательных изменений.
Доброго времени суток. Решил рассказать о том, как я оформляю SQL запросы в PHP. Итак каким критериям должен удовлетворять мой запрос: Удобочитаемость; Возможность комментировать каждое действие в запросе; Возможность исключить одну из таблиц или действий при помощи комментария, не удаляя ничего из запроса.
Этот урок предназначен для людей, знакомых со связкой PHP/MySQL и желающих научиться использовать Google Maps API вместе с базами данных MySQL. После завершения этого урока у Вас будет карта, основанная на базе данных. На карте будут расположены маркеры разных цветов. Одни из них будут указывать на рестораны, другие – на бары. При клике по маркеру будет появляться инфо-окно, показывающее название места и его адрес.
Урок разбит на следующие параграфы:
В наше время многие пользователи Интернета превращаются в его строителей. Насмотревшись на чужие сайты, простой интернетчик начинает задумываться и о собственном "офисе" в этом мегаполисе. Но как? В какой программе? На каком языке? Именно на последний вопрос даёт развёрнутый ответ эта статья. А поскольку Вы её читаете, то видимо тоже заинтересованы в создании своего сайта.
Уже продолжительное время доступен сервис Яндекс.XML — сие есть не что иное, как поисковый сервис, который позволяет делать автоматические поисковые запросы к Яндексу и публиковать его ответы у себя на сайте и данный пост посвящен приручению сего зверя с использованием PHP.
Когда-то, давным-давно, мне пришлось использовать небезызвестный шаблонизатор
Smarty. Сначала я, понятное
дело, возмущался и кричал, какая же гадость эта заливная рыба Smarty, а
потом «распробовал» и втянулся. Те удобства, которые он давал, с лихвой
компенсировали мысли о том, что есть и более быстрые шаблонные движки.
Ни для кого не секрет, что одним из самых популярных способов повышения производительности сайта является использование memcached. Об этом неоднократно говорили и приводили многочисленные примеры. Самый простой способ сделать это — использовать memcached для хранения сессий PHP. Для этого нет необходимости переписывать весь код, достаточно нескольких простых действий. Я не буду рассказывать, почему надо хранить сессии в memcached. Я расскажу о том, почему хранение сессий в memcached опасно.
Для каждого программиста рано или поздно становится важным определение "узких мест" при работе скрипта или всего проекта. Особенно когда проект разростается - отслеживать самые медленные точки тяжело или практически невозможно. Потому очень важно иметь удобный инструмент для мониторинга таких вещей. В этой статье я предлагаю написать класс, который будет отслеживать время работы отдельных участков PHP скриптов.