PHP 8 — что нового в 8-ой версии php
PHP 8.0 что нового
Новые нативные функции:
str_contains — для проверки есть ли подстрока в строке.
str_contains(string $haystack, string $needle): bool
PHP 8.0 что нового
Новые нативные функции:
str_contains — для проверки есть ли подстрока в строке.
str_contains(string $haystack, string $needle): bool
В случае если в папке ~/.ssh лежит более одной пары ключей, может понадобиться использовать тот или иной ключ в зависимости от того, к какому ресурсу мы хотим конектиться.
Начал использовать codeship как CI для symfony5 приватного репозитория на github.
Впечатления положительные. Можно настроить CI через codeship веб-интерфейс, не добавляя не единого нового файла в проект.
Итак, для codeshipCI + private repo нам нужно следующее.
Для подключения к базе данных PostgreSQL понадобится установленный PostgreSQL клиент:
sudo apt install postgresql-client-<VERSION>
Например:
sudo apt install postgresql-client-12
Для подключения к базе данных PostgreSQL можно использовать команду:
psql -U<USERNAME> -h<HOSTNAME> -d<DB_NAME>
Если такая команда не просит ввести пароль пользователя, то можно еще добавить опцию -W.
Например:
$ psql -Usrv161924_dom -hpgsql-161924.srv.hoster.ru -dsrv161924_dom -W Password for user srv161924_dom:
В случае, если нам нужно протестировать экшены контроллера, при этом предварительно очистив данные из базы данных, можно использовать класс ORMPurger. Он является частью пакета doctrine/data-fixtures, который в свою очередь является зависимостью doctrine/doctrine-fixtures-bundle.
Таким образом, для использования ORMPurger нужно установить либо:
composer require --dev doctrine/doctrine-fixtures-bundle
Скорее всего doctrine-fixtures-bundle вам и нужен, чтобы можно было создавать fixtures.
Либо хотя-бы:
composer require --dev doctrine/data-fixtures
Теперь можно добавить код в тест, который является наследником WebTestCase.
self::bootKernel(); // returns the real and unchanged service container $container = self::$kernel->getContainer(); $entityManager = $container->get('doctrine.orm.entity_manager'); $purger = new ORMPurger($entityManager); $purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE); $purger->purge();
Меню-билдер в лучших традициях симфони лучше объявить как сервис.
Создаем сервис "объявим сервис app.knp.sidebar_menu в файле config/packages/knp_menu.yaml:
Содержимое config/packages/knp_menu.yaml:
knp_menu: twig: template: custom_knp_menu.html.twig parameters: knp_menu.renderer.twig.options: currentClass: sel services: app.knp.sidebar_menu: class: Knp\Menu\MenuItem factory: ['@App\Menu\MenuBuilder', createSidebarMenu] arguments: ["@request_stack"] tags: - { name: knp_menu.menu, alias: sidebar_menu }
Пример jenkins джобы для генерации swagger-API.
Это bash-код, который нужно добавить в секцию "execute shell".
performance_schema — мощный встроенный в MySQL инструмент, который вы можете использовать для анализа запросов, производительности и, как следствие, для улучшения производительности базы данных.
По своей сути, performance_schema, это автоматически созданная MySQL база данных, которая внутри себя содержит множество служебных таблиц, в которые MySQL любезно пишет данные.
Чтобы использовать PHP code sniffer в phpstorm, перво-наперво его нужно установить.
phpcs --version
Если в системе php-codesniffer не установлен, нужно его установить.
Я установил mysql-сервер на свою macOS Mojave, скачав .dmg пакет с официального сайта MySQL.
При установке mysql, установщик не запрашивал никакого root пароля, но в конце выдал сообщение, что пароль для root - dufQqAt00Z, и сообщение сохранить этот пароль.
Я сохранил себе этот пароль (возможно, не скопировав его полностью?).