php Как реализовать "конструктор" в трейте -- для значений которые нужно инициллизировать один раз (trait)

Предположим, что у был класс, которому для печати данных разными методами в своем конструкторе приходилось (чтобы не создавать объект каждый раз) одному из своих полей (->outputWriter) присваивать объект конкретного класса (\Codeception\Lib\Console\Output), занимающегося печатью, после чего данное поле использовалось методами:

php Список продвинутых библиотек и решений -- "лучшее для PHP" (код)

Вот тут: https://github.com/ziadoz/awesome-php

Пара сотен разработчиков поддерживает список "элегантных" и вообще удачных вспомогательных разработок на php.

Спасибо Н. Гр. за эту ссылку.

linux bash скрипт -- исправляет ошибку permossions denied при развороте Symfony на localhost-e

Пример скрипта для обхода ошибки symfony появляющейся при работе на localhost-e после composer install/update. Описание ошибки здесь.

Данный скрипт даёт права на запись для группы в папку кэша Symfony ДО и ПОСЛЕ запуска композера:

function slc_update() {
    sudo chmod -R 775 ../'$1'
    composer update
    sudo  bash -c " chown -R www-data:www-data ../'$1'
    chmod -R 775 ../'$1'"
}

Аналогичную команду можно создать для composer install.

linux bash sudo после && -- Как запустить 2 команды от имени суперпользователя в bash-скрипте

Чтобы запустить две или более команды от имени суперпользователя, можно использовать такой синтаксис:

function smth_update() {
    sudo  bash -c "chmod -R 775 foldername && chown -R www-data:www-data foldername"
}

ВНИМАНИЕ! Все команды, заключённые в "" будут выполнены под root-ом.

Будьте осторожны! Вынесите команды, для которых не нужна команда sudo за кавычки. Внимательно относитесь ко всему, чему вы даёте полный доступ.

composer Ошибка Cannot create cache directory or directory is not writable. Proceeding without cache

Композер потерял доступ к своей папке с кэшем.

Текст ошибки

Cannot create cache directory /home/qweqwe/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/qweqwe/.composer/cache/files/, or directory is not writable. Proceeding without cache

Ошибка появилась после запуска консольного скрипта:

php Статические свойства/поля в трейтах (по факту -- статические переменные)

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

Например:

php Статические переменные static слово -- внутри методов/функций

Например:

function test()
{
    static $a = 0;
    echo $a;
    $a++;
}


Переменная "a" будет проинициализирована только при первом вызове функции, а каждый вызов функции test() будет выводить значение $a и инкрементировать его.

Подробнее: https://secure.php.net/manual/ru/languag...

symfony Ошибка при запуске composer update на localhost-е

Проблема

При развороте проекта на localhost-е ошибка появляется после первого composer install, и в дальнейшем при composer update.

Текст ошибки

В браузере:

codeception modules & helpers Новые методы для $I -- независимые модули тестирования (хэлперы)

Последние версии наработок есть здесь: https://github.com/it-for-free/rusphp

Если какой-то код не относится к конкретному действующему лицу, а является универсальным (например, вы пишите дополнительные функции для работы с элементами DOM -- чтобы расширить возможности PhpBrowser), то всегда можно реализовать свой хэлпер, например:

Pages

Subscribe to fkn+antitotal RSS