<rmcreative>

RSS

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

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

  1. Вызвать private метод класса в PHP

    25 мая 2015

    Бывает, не хочется портить API ради тестирования, но нужно как-то добраться до private метода. Сделать это можно вот так:

    function callPrivateMethod($object, $method, $args)
    {
        $classReflection = new \ReflectionClass(get_class($object));
        $methodReflection = $classReflection->getMethod($method);
        $methodReflection->setAccessible(true);
        $result = $methodReflection->invokeArgs($object, $args);
        $methodReflection->setAccessible(false);
        return $result;
    }
     
    $myObject = new MyClass();
    callPrivateMethod($myObject, 'hello', ['world']);

    UPD: вариант без Reflection

    13 комментариев
  2. Перестаньте использовать mcrypt

    13 мая 2015

    Сегодня в очередной раз всплыла статья об распространённых ошибках при реализации шифрования. Сама по себе она ничего так, но местами учит плохому. А именно, использовать mcrypt.

    Почему его не стоит использовать

    mcrypt не обновлялся более десяти лет и не планирует. Авторы его забросили. В нём есть серьёзные недоработки.

    И что делать?

    Мы в Yii от него ушли в сторону OpenSSL, чего и вам советую. Реализовал переход, в основном, Tom Worster. У него есть серия интересных постов на тему.

    8 комментариев
  3. PHP Frameworks Day 2014, Киев

    3 ноября 2014

    15 ноября 2014 в Киеве в Конгресс-холле «Космополит» пройдёт конференция PHP Frameworks Day — одна из самых интересных конференций для тех, кто работает с PHP-фреймворками или разрабатывает их.

    В этом году приехать не получается, но Yii на конференции, скорее всего, будет. В докладчики предложен Александр Бордун, CTO EuroMD. В сообществе Yii он известен созданием yiiframework.com.ua и переводом документации на украинский. Также он внёс значительный вклад в русскоязычный сборник рецептов. Тема будет «Yii2 — на пути от Alpha до GA. Взгляд с практической стороны». Его можно поддержать в голосовании на сайте. Кнопки появятся после регистрации.

    Остальная программа не менее интересна, так что всем советую.

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

    6 комментариев
  4. OpenSource-им PHP код

    19 августа 2014

    Недавно Максим Ekstazi Фуртуна написал тему для авторов кода на форуме yiiframework.ru. Я решил сделать подобный список для современного PHP-кода в общем.

    • Пишите под поддерживаемые версии PHP. Сейчас это 5.4 и выше.
    • Форматируйте код по PSR-2.
    • Используйте git, а лучше github.
    • Релизы делайте по правилам семантического версионирования.
    • Используйте Composer и не забывайте добавить пакет в packagist.
    • Называйте и загружайте классы по стандарту PSR-4. Писать свой загрузчик не нужно, Composer уже умеет.
    • Пишите unit-тесты. Замечательно, если ваш код покрыт ими на 70-80%. Запускать автоматически можно через Travis CI.
    • Документируйте код в стиле DocBlocks.
    • Напишите отличный readme: что код делает, как настроить и использовать. Получилось длинно — оставляйте в readme «что код делает», остальное выносите в полноценное руководство. В качестве разметки советую markdown.
    • Не забрасывайте свой код. Если времени нет — подключите к проекту тех, кто активнее всех вам помогает и заинтересован.
    • Обязательно приложите текст одной из OpenSource-лицензий. Рекомендую BSD или MIT.
    3 комментария
  5. Software Development podCAST #7

    8 августа 2014

    Записался в подкасте. Говорили про Yii и PHP в целом:

    • Как живет и развивается OpenSource проект Yii Framework: участники, организация разработки, зоны ответственности, текущее положение дел и планы по дальнейшему развитию.
    • Yii Application Development Cookbook.
    • PHP Framework Interop Group. Цели группы, её участники, обсуждаемые вопросы.
    • Экосистема PHP: вчера, сегодня, завтра. PSR, загрузчики, HHVM, PhpNG, менеджеры пакетов и прочее.

    Слушаем

    4 комментария
  6. wnmp-dev: nginx, MariaDB, PHP под Windows

    16 июля 2014

    Решил выложить то, что собрал себе вместо denwer для работы с PHP под Windows. Нынче популярны всякие Vagrant, но иногда, особенно если пишется кросс-платформенное решение вроде Yii, нужен и Windows в том числе.

    Итак, wnmp-dev — простейший набор bat-скриптов и конфиг для nginx, которые позволяют развернуть полноценный вебсервер под Windows и легко переключаться между разными версиями PHP.

    Как поставить:

    1. Клонируем https://github.com/samdark/wnmp-dev.git или загружаем архивом.
    2. Забираем нужные версии PHP с сайта PHP for Windows. Берите nts, x86 zip.
    3. Распаковываем архив. Версия 5.5 должна оказаться в php55, версия 5.4 в php54.
    4. Забираем MariaDB или MySQL, складываем в mariadb.
    5. Копируем nginx/conf/vhosts/example._conf в nginx/conf/vhosts/mysite.conf, редактируем так, чтобы конфиг указывал на ваш вебрут.
    6. Добавляем домен из конфига в hosts.
    7. Запускаем start_all.bat
    8. Работаем.

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

    https://github.com/samdark/wnmp-dev

    17 комментариев
  7. DevConf 2014, отчёт

    10 июля 2014

    14 июня, почти месяц назад, в Москве прошла одна из лучших разработческих конференций DevConf. Сразу опубликовать отчёт не вышло, но лучше сейчас, чем никогда, ведь рассказать есть о чём.

    Читаем

    7 комментариев
  8. PHP 5.6.0RC1

    20 июня 2014

    Вышел первый кандидат в релизы PHP 5.6.0. Можно помочь разработчикам, проверив свои проекты на этой версии (не на боевых серверах, конечно) и сообщив о проблемах.

    Изменения радуют. Рассмотрим самое интересное.

    Читаем

    12 комментариев
  9. Hack и HHVM

    25 марта 2014

    С последней заметки про успехи Facebook в ускорении PHP прошло какое-то время, и вот снова появился повод написать на эту тему. Facebook всё это время не только улучшал HHVM, в скором появлении возможности запускать на котором обычный PHP-код уже не сомневается практически никто, но и реализовал под него свой язык с названием Hack.

    Сам язык очень интересный. Я уверен, что у него найдутся свои адепты и что он хорошо повлияет на PHP в целом, но имеется одно большое но. Он не совместим с PHP. Если что, вернуться на PHP не получится. А это, в отличие от PHP под HHVM, который можно безболезненно заменить на обычный PHP, большой риск.

    7 комментариев
  10. cebe/markdown

    24 февраля 2014

    Похоже, время, когда единственным нормальным парсером markdown на PHP был php Markdown Extra, прошло. Появилось довольно много библиотек. Впрочем, у них либо было плохо со скоростью, либо с расширяемостью, что очень плохо, учитывая большое количество диалектов разметки.

    В процессе выбора нового парсера для Yii 2.0 (в 1.1 использовался Markdown Extra) @cebe, несмотря на наличие других решений, решил написать свою библиотеку. И не зря.

    В итоге получилась расширяемая, оттестированная и самая быстрая библиотека для конвертации markdown в HTML. К тому же, использование её в Yii 2.0 гарантирует её дальнейшую поддержку на годы вперёд.

    Пробуем, пользуемся, шлём pull-request-ы

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