Шаблонизаторы для PHP

Здесь я соберу известные мне шаблонизаторы для PHP. Они бывают двух типов: написанные на PHP и написанные на чём попало, но скомпиленные в виде модуля к самому PHP.  Теоретически, вторые должны быть в разы быстрее первых. Итак:

Модули PHP:

  1. CTPP. Если говорить коротко, то CTPP (CT++, Сити Плас Плас) – это инструмент, отделяющий процесс обработки данных (бизнес-логику) от их представления. Для проектов, в которых программист и HTML верстальщик – разные люди, CT++ – самый подходящий выбор.
    Библиотека CTPP действительно работает очень быстро, поскольку полностью написана на языке C++. В отличие от шаблонизаторов, разработанных на интерпретируемых языках, таких как PERL или PHP, CTPP не тратит время на интерпретацию исходного кода самой себя и не занимается подгрузкой среды исполнения.
    В тоже время, библиотека быстрее широкоизвестных проектов типа Xalan-C или libxslt потому, что не предоставляет излишнюю, зачастую ненужную, но снижающую производительность функциональность.
    Есть НЕПРОВЕРНЕННАЯ информация, что по “бенчмаркам” уступает всем из первого эшелона – blitz, php_templates, smarty, google ctemplate.
  2. Blitz. Blitz родился весьма неоригинально, for fun. Blitz поддерживает разделение и скрытие функционально различных частей шаблонов с помощью простого механизма: текст шаблона может содержать вызов методов объекта, который этим шаблоном управляет. Таким образом, достигается основная цель: шаблон не содержит большого количества блоков и контекстов, часто мешающих разобраться, что к чему. Напротив, даже в проекте со сложной логикой представления при правильном подходе шаблоны будут давать разработчику своеобразную «карту» всего проекта. Blitz также позволяет включать одни шаблоны в другие (аналог include) и поддерживает условный вывод переменных (аналог if).
    Начиная с версии 0.4 в Blitz добавлен функционал движка php_templates.
  3. php_templates.  В php_templates вы совершенно точно НЕ найдете какой-либо подвид скриптового языка в шаблоне. Как уже было сказано ранее, шаблоны предназначены для отделения кода от дизайна. Вот почему любой вид логики в шаблоне идет вразрез с идеологией шаблонов. Несмотря на это, почти в каждом сообществе веб-разработчиков продолжаются споры по вопросу использования программного кода в шаблонах. На самом деле, этот вопрос уже давно перерос в нечто религиозное. В конце концов, есть масса проектов со своим собственным скриптовым языком в шаблонах, на которые вы можете перейти. Однако, они не слишком-то и быстрые.

PHP-код:

  1. Smarty
  2. XTemplates
  3. Perl HTML::Template

 Немного бенчмарков:

  • С сайта автора Blitz

    lebowski-bench-small1.png

Стандарты кодирования для PHP

Ковыряясь в чужом коде, начинаешь понимать насколько всё-таки важны стандарты кодирования

Погуглив чуть-чуть на тему стандартов кодирования для PHP нашёл следующие источники:

стырено здесь

Популярные PHP frameworks

  1. Symfony
  2. CakePHP
  3. Solar 8
  4. Zend Framework
  5. phpOnRails
  6. CodeIgniter

Исходники Facebook просочились в Сеть

Вы давно хотели увидеть исходный код одного из самых успешных проектов Веб 2.0? Ну вот, сегодня как раз тот день, когда вы можете посмотреть на работу «лучших PHP-программистов мира».

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

Компания Facebook уже подтвердила утечку информации, так что это настоящий код, а не подделка.
 
Напомню так же, что ещё два хеджевых фонда из Нью-Йорка подключились к сделке Microsoft и Facebook. Они вложили в социальную сеть ещё $500 млн, то есть в два раза больше, чем Microsoft, и, что самое главное, инвестиции сделаны из расчёта той же самой рыночной оценки проекта в $15 млрд.

Дополнительные полмиллиарда инвестиций, которые сделаны без всяких дополнительных условий, доказывают, что реальная стоимость Facebook на сегодняшний день действительно составляет $15 млрд.

Read the rest of this entry »