Archive for the ‘php’ Category

Выкладываю самописный класс для работы с Sitemaps. Класс умеет генерировать (SimpleXML) новую sitemap или добавлять в уже существующую позиции из массива ссылок и необязательных параметров (lastmod, changefreq, priority). Умеет уведомлять поисковик о сгенерированной карте (CURL). Пишет лог в БД (через PDO). Позже добавлю еще пару полезных методов. Если что непонятно – спрашивайте. Также приветствуются поправки и рекомендации.

Далее ›

18/05/2008 @ 14:55

Уже невозможно представить современный сайт так или иначе не использующий возможностей кэширования. Создание кэша – одно из средств оптимизации, позволяющее значительно увеличить производительность работы вашего движка. Существует несколько вариантов использования механизма кэширования.

Первый вариант – использование PEAR пакета Cache_Lite для выборочного кэширования данных.
Это небольшое и простое решение позволяет кэшировать как результаты запроса, так и страницу целиком.
Сохраняем в кэше (в директории /to/cachedir/) результаты mysql запроса, время жизни устанавливаем 1 час:

  1.  
  2. require_once ‘Cache/Lite.php’;
  3.  
  4. $query = ‘SELECT * FROM `tab`’;
  5.  
  6. $cache = new Cache_Lite(array(‘cacheDir’ => ‘/to/cachedir/’, ‘lifeTime’ => 3600));
  7.  
  8. if (!($res_id = $cache->get($query))) {
  9.    $res_id = mysql_query($query);
  10.    $cache->save($res_id, $query);
  11. }
  12.  

 

  • Для вызова функции и последующего кэширования результатов ее работы можно использовать класс Cache_Lite_Function.
  • Класс Cache_Lite_Output использует функции буферизации для перехвата данных, сгенерированных PHP скриптом, и сохранят результат в кэше. Последний класс в связке с .htaccess можно легко приспособить для полного кэширования всего вывода. Не забывайте защищать каталоги с файлами кэша.
    Далее ›
  • 03/04/2008 @ 11:26

    Прошел тест для PHP программеров от Mamba.ru. Тест довольно сложный, времени на выполнение дается мало, плюс ко всему оцениваются знания не только по PHP(4,5) и SQL, но также по UNIXовым утилитам и системам контроля версий.
    Мои результаты: 367 баллов и “крутой PHP программист”.

    28/03/2008 @ 13:49

    Хасин Хайдер (автор книги о Smarty :) ) заявляет, что это так. В своем блоге он признает, что был не прав. Приводит аргументы против использования Smarty и продолжает отбиваться уже в комментах. “При наличии такого гибкого Представления (View) в современных MVC фреймворках (CodeIgniter, CakePHP и т.д.) совершенно нет необходимостит изучать отдельный язык шаблонов..” и т.д. К подобным же умозаключениям (только четырьмя годами раньше) пришли Brian Lozier и Harry Fuecks (ссылки ниже) и еще целая толпа народа.

    В целом, с небольшими оговорками, со статьей согласен. Никто не оспаривает необходимость разделения Логики и Представления, высказываются лишь сомнения в необходимости изобретать для этого еще один язык. Неужели дизайнеры способные освоить Smarty не смогут изучить основы синтаксиса PHP? Что касается вопросов безопасности, по моему мнению, это единственное, что иногда оправдывает применение Smarty в некоторых проектах. Хасин же и тут объявляет Smarty неподходящим решением.
    Далее ›

    Удобная схема, представляющая порядок проверки и обработки пользовательских данных, появилась на The Hacker Webzine. Ничего принципипиально нового, но любители схем, к коим отношу и себя, останутся довольны. :)
    обработка входящих данных
    Далее ›