<rmcreative>

RSS

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

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

  1. display_startup_errors

    7 июня 2013

    Данная директива отвечает в PHP за вывод на экран не фатальных ошибок, возникающих из за неправильной конфигурации. Например, невозможность загрузить указанные в php.ini расширения.

    Ставить display_startup_errors в On, как и display_errors, на боевых серверах строго не рекомендуется. При отладке может быть полезно.

    Опцию имеет смысл выставлять в php.ini, а не в коде потому как проверки происходят ещё до запуска первой строчки кода.

    Даже если опция отключена, соответствующие ошибки пишутся в лог PHP.

    display_errors на данную опцию никак не влияет, а вот при низком error_reporting часть ошибок, вроде "PHP Warning: POST Content-Length of X bytes exceeds the limit of X bytes in Unknown", не выводится и в лог не пишется.

    4 комментария
  2. Получаем данные Google Analytics из PHP

    30 апреля 2013

    Иногда требуется показать данные из Google Analytics анонимным пользователям. Например, соорудить красивую статистику как на хабре или вывести счётчик посещений для конкретной страницы.

    Реализуется не совсем очевидно. В официальных документах если и описано, то очень и очень расплывчато. Хорошо, что есть добрые люди на StackOverflow. Итак, решение.

    Читаем

    16 комментариев
  3. Запускаем HTML-презентации с флешки

    15 марта 2013

    Существует довольно много интересных инструментов для создания презентаций на HTML:

    Есть ещё много разных. Я решил в следующий раз использовать reveal.js, но зная, что на конференциях иногда пропадает интернет, озаботился вариантом работы в оффлайне. Оказалось всё очень просто. Рецепт для Windows, но, думаю, для всего остального сделать не сложнее.

    Читаем

    4 комментария
  4. PhpStorm 6

    14 марта 2013

    Когда вышел PhpStorm четвёртой версии, я думал, что дальше улучшать уже особо некуда. Работать было уже очень комфортно.

    EAP пятой версии приятно удивляли и до релиза скопилась критическая масса улучшений, после привыкания к которой на четвёрке стало уже не так удобно. С шестой версией произошло примерно то же. JetBrains в очередной раз удивили и порадовали.

    Читаем

    23 комментария
  5. Потребление памяти и длина имени переменной в PHP

    21 января 2013

    Недавно всплыло обсуждение именования переменных в Yii, а именно

    class CComponent
    {
        private $_e;
        private $_m;

    Я согласен, что выглядит плохо, но именно в данном случае такие имена переменных более-менее оправданы и в Yii2 останутся примерно такими же:

    class Component extends \yii\base\Object
    {
        /**
         * @var Vector[] the attached event handlers (event name => handlers)
         */
        private $_e;
        /**
         * @var Behavior[] the attached behaviors (behavior name => behavior)
         */
        private $_b;

    Дело в том, что каждый экземпляр класса с нормальными именами переменных будет кушать больше памяти. Например, $_behaviors и $_events скушают 8 байт на экземпляр.

    Конечно, 8 байт ничто и сокращать таким образом переменные в обычных приложениях определённо не стоит. Но не в случае самого-самого базового класса фреймворка. В зависимости от приложения, наследников Component может быть довольно много. Например, на 1000 объектах AR накладной расход выльется в 8 килобайт.

    40 комментариев
  6. Mobile_Detect, определение мобильных устройств средствами PHP

    15 января 2013

    Отличная, поддерживаемая и развивающаяся библиотека для определения мобильных устройств. Полезна, например, если надо вывести ссылку на AppStore для iOS и на Google Play для Android. Ну или показать дополнительный контент для планшетов.

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

    Пользуемся

    10 комментариев
  7. Yii, frameworks and where PHP is heading to

    12 ноября 2012

    Слайды с прошедшей WebConf Riga 2012. Язык английский, также как и язык самого доклада.

    Видео записывалось, возможно будет.

    27 комментариев
  8. Chrome не удаляет сессионные cookie

    4 ноября 2012

    Как показали исследования на форуме yiiframework.ru, Chrome местами слишком умный. В его недрах есть настройка «Продолжать работу приложений в фоновом режиме после закрытия Google Chrome», по умолчанию включенная.

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

    12 комментариев
  9. Чем Facebook занимался после HipHop

    16 октября 2012

    Думаю, многие слышали про HipHop — компилятор PHP, который использовался в Facebook.

    Анонсирован он был в 2010 году. С тех пор Facebook не останавливался в своём желании ускорить разработку и выполнение кода.

    В декабре 2011 нам показали виртуальную машину для HipHop. Примерно тогда же Facebook перешёл на неё, значительно ускорив выполнение кода. Код всё ещё компилировался. Для разработки это было явно неудобно и была сделана JIT-версия, которая компилировала и выполняла код на лету. Производительность при этом, хоть и была ниже, чем у компилированного кода, но ненамного.

    В мае 2012 Facebook спонсирует двухмесячную разработку простого интерпретатора PHP на PyPy. В итоге выходит JIT-компилятор, способный переваривать большинство конутрукций и функций PHP (без классов). Код выполняется быстрее, чем в HipHop VM. И это за два месяца.

    Ближе к середине августа всплывают слухи о том, что Facebook планирует переписать HipHop VM под JVM, основанные на том, что инженеры Facebook побывали на JVM Language Summit и живо интересовались данной темой. В той же заметке приводится оценка в шесть человеколет на реализацию проекта, что не так много, учитывая ресурсы Facebook. К тому же, есть варианты купить и использовать Quercus или Project Zero.

    Каким путём пойдёт Facebook далее пока не ясно. Ясно одно: в этом направлении они останавливаться не собираются.

    7 комментариев
  10. Что нас ждёт в PHP 5.5

    16 октября 2012

    PHP 5.5 планируется выпустить в Феврале-Марте 2013. Отвечать за релиз в этот раз будет Julien Pauli, который приедет на WebConf в ноябре.

    Версия 5.5 будет обратно совместма с остальной линейкой 5.x, так что можно будет смело обновляться. Итак, интересности из транка, которые, возможно, попадут в 5.5.

    Читаем

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