<rmcreative>

RSS

Все заметки с тегом «PHP»

Можно уточнить:

  1. $_REQUEST — не только $_GET и $_POST

    11 февраля 2011

    Очень многие программисты, работающие с PHP, неверно полагают, что $_REQUEST = $_GET + $_POST. На самом деле это не так.

    $_REQUEST = $_GET + $_POST + $_COOKIE. Причём, по умолчанию именно в этом порядке, что позволяет при использовании $_REQUEST перетирать значения $_GET или $_POST из одноимённой куки.

    12 комментариев
  2. HMVC

    10 февраля 2011

    В последнее время часто всплывает тема иерархического MVC или HMVC. Штука довольно интересная, но по-простому почти нигде не описана, что и исправим.

    HMVC отличается от классического MVC лишь тем, что из любого контроллера, представления или компонента можно запустить действие другого контроллера.

    Это довольно удобно для построения сайтов портального типа, где на одной странице показывается несколько независимых частей, и виджетов.

    В большинстве реализаций, таких как HMVC в Kohana 3, CodeIgniter Modular Extensions, Zend Framework Action View Helper и runController в Yii, при этом, отдельного HTTP-запроса не происходит.

    Kohana 3 также умеет запускать контроллеры по HTTP, хотя, кроме весьма неплохой интеграции с её роутингом, ничего нового тут нет: использовать CURL или сокеты для дополнительного запроса не сложно.

    11 комментариев
  3. CodeIgniter 2.0.0

    29 января 2011

    И всё-таки выпустили. С последнего официального релиза в 2009-м прошло довольно много времени, а вот вкусностей в 2.0 не так много, поэтому он многих не порадовал.

    EllisLab, создавшие CI, чуть его не потопили, кинув все силы на Expression Engine 2 и MojoMotor. И, наверное, CI утонул бы окончательно, если бы не активисты из сообщества, поспособствовавшие созданию открытой ветки, названной Reactor. То есть теперь у CI есть две ветки: ядро и реактор.

    «Реактор» действительно помог: стали доделываться хоть какие-то фичи, активнее над CI начали работать как сотрудники EllisLab, так и бывшие сотрудники и просто энтузиасты.

    Сам выпуск 2.0 — мера, на мой взгляд, экстренная и очень правильная. Хоть на номер 2.0 дополнений не набралось (багов, пожалуй, поправили действительно прилично), выпускать надо было. Иначе, потонул бы.

    Итак, что же всё-таки поменяли? Из значительного в ядре:

    • Выкинули PHP4. Давно пора.
    • Подумали над инфраструктурой: появились драйверы, пакеты. Плагины стали хелперами.
    • Выкинули скаффолдинг. Опять же, верный шаг. В том виде он был скорее вреден, чем полезен.
    • Сделали нормальную автозагрузку. Вот только старую поломали.

    В реакторе:

    • Нормальная поддержка query string или, по-простому $_GET. Попортила нервов эта штука, в своё время прилично.
    • Нормальный кеш с поддержкой файлов, APC и memcache.
    • Возможность запустить CI из командной строки.

    В планах:

    • Возможность комментировать документацию на сайте.
    • Библиотека для аутентификации.
    • Нормальный AR, возвращающий модели объектов класса модели, а не просто объектов.

    • Официальный анонс

    • Список изменений

    Если сообщество не остынет, CI будет жить и развиваться, так что желаю разработчикам вытащить CI и сделать его, как и прежде, замечательным фреймворком.

    5 комментариев
  4. Yii 1.1.6

    17 января 2011

    PHP-фреймворк Yii обновился до версии 1.1.6. Обновление не только правит ошибки, но и добавляет много нового. Какие же изменения были сделаны?

    Читаем

    11 комментариев
  5. Opera: расширение для управления Xdebug

    11 января 2011

    Моё первое расширение для Opera. Упрощает отладку PHP-приложений через Xdebug и IDE, а именно включает и выключает сессию отладчика из браузера при щелчке на кнопке.

    Ключик для IDE можно выставить в настройках расширения.

    Страничка расширения

    Кстати, API расширений Opera понравился, хотя пришлось сначала к нему привыкнуть.

    11 комментариев
  6. SQLite, временные таблицы и таблицы в памяти

    8 января 2011

    SQLite можно заставить работать без файлов прямо в памяти. В случае PHP и PDO для этого в качестве соединения указывается sqlite::memory::

    $db = new PDO('sqlite::memory:');

    В этом случае база существует в памяти ровно до закрытия соединения.

    Если же указать в качестве соединения sqlite:, будет создан временный файл, который после закрытия соединения также будет удалён.

    Оба типа соединения особенно полезны при написании модульных тестов, где как раз требуется частое создание и удаление баз данных.

    7 комментариев
  7. FuelPHP

    7 января 2011

    После недавних событий вокруг CodeIgniter, сильные разработчики из его сообщества решили написать свой фреймворк для PHP 5.3 — FuelPHP. Всё это очень напоминает возникновение BlueFlame, который стал позже называться Kohana.

    Фреймворк достаточно молодой и пока не может похвастаться чем-либо выдающимся, но почитать его обсуждение на хабре довольно интересно.

    7 комментариев
  8. Drupal 7

    5 января 2011

    Вышла седьмая версия одной из самых популярных Open Source CMS/CMF.

    В этой версии неплохо поработали над дизайном. В особенности над панелью администратора (теперь она по полной использует AJAX), хотя без привыкания разобраться в ней всё так же сложно.

    Большой плюс по сравнению с релизом шестой версии, использовать которую можно было только после релиза основных модулей (прошло несколько месяцев) — доступность огромного числа (около 800) модулей, которые были подготовлены заранее. Некоторые модули при этом мигрировали в ядро.

    Сделан ряд оптимизаций на тему количества SQL-запросов и кеша. Однако, минимальные системные требования увеличились (например, значительно возросло потребление памяти).

    Прилично так подрихтовали API, что несомненно облегчит нелёгкий труд работающих с Drupal программистов.

    6 комментариев
  9. Doctrine 2

    22 декабря 2010

    Вышел релиз Doctrine 2 — передового PHP ORM и слоя абстракции данных.

    Официальный анонс

    2 комментария
  10. PHP 5.3.4 и 5.2.15

    10 декабря 2010

    Вышли свежие релизы PHP сразу двух веток — 5.3 и 5.2. Для 5.2 этот релиз последний. Пора двигаться на 5.3.

    4 комментария