<rmcreative>

RSS

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

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

  1. Какой PHP фреймворк вы используете и почему?

    23 марта 2011

    На хабре появился довольно интересный опрос с обсуждением на горячую тему. Ответы немного удивили:

    • Yii на втором месте после Zend Framework. Думал, там будет Symfony или CodeIgniter.
    • Очень многие выбрали «самописный фреймворк». Дело, конечно, хорошее. Опыт наберётся быстро. Но для работодателя коммерчески невыгодно. Конечно, если задачи очень специфичны, вроде создания игр, то свой фреймворк может быть оправданным решением.
    • Подавляющее большинство «пишет на PHP, но не использует фреймворки». То ли лапшекодеров на хабре много, то ли все делают игры… не ясно.

    Обсуждаем и голосуем

    59 комментариев
  2. PHP RFC: встроенный вебсервер

    3 марта 2011

    В RFC PHP попала новая идея: встроенный вебсервер. Штука определённо замечательная: можно будет разрабатывать не запуская тот же Apache и не занимаясь его настройкой. Пока реакция разработчиков положительная, поэтому можно надеяться, что нововведение будет в ядре.

    Запускать это дело предлагается очень просто:

    php -S localhost:8000 docroot
    

    При этом можно использовать роутинг-скрипт, заменяющий, например mod_rewrite и выглядящий так:

    if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"]))
        return false; // отдаём как есть
    else
        ...

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

    15 комментариев
  3. Комментарии в разметке

    25 февраля 2011

    Иногда в HTML встречаются комментарии, не особо предназначенные для посторонних глаз или просто лишние. В лучшем случае это:

    <!--news list start-->
    туча кода
    <!--news list end-->

    Конечно, можно их просто удалить, но такие комментарии всё-таки полезны разработчику. Поэтому, вместо удаления лучше сделать их средствами серверного языка:

    <?php // news list start ?>
    туча кода
    <?php // news list end ?>

    или

    <%-- news list start --%>
    туча кода
    <%-- news list end --%>
    
    13 комментариев
  4. PhpStorm 2

    15 февраля 2011

    Вышел второй релиз отличной IDE для PHP, направленный, прежде всего на поддержку современных языков и технологий.

    • Полная поддержка PHP 5.3 с пространствами имён и замыканиями.
    • Поддержка Zend Debugger. При этом его не нужно настраивать.
    • Командная строка с поддержкой Zend_Tool и Symfony в комплекте.
    • Редактор SQL-запросов с возможностью их запуска, а также просмотра и изменения данных результата.
    • Поддержка ECMAScript 5 «use strict».
    • Поддержка LESS и SASS/SCSS.
    • Relax NG для XML.
    • Поддержка Mercurial.
    • Интеграция с трекерами GitHub, PivotalTracker и RedMine.
    • Новый интерфейс для всех платформ.

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

    • Наиболее значимые изменения в картинках и видео
    • Пробуем и обновляемся
    10 комментариев
  5. $_REQUEST — не только $_GET и $_POST

    11 февраля 2011

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

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

    12 комментариев
  6. 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 или сокеты для дополнительного запроса не сложно.

    12 комментариев
  7. 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 и сделать его, как и прежде, замечательным фреймворком.

    6 комментариев
  8. Yii 1.1.6

    17 января 2011

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

    Читаем

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

    11 января 2011

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

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

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

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

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

    8 января 2011

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

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

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

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

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

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