Beer::Code🍺
Kanalga Telegram’da o‘tish
Тут публікуються короткі замітки про PHP, Linux, Unit Testing, DB, OOP тощо, витяги зі статей, книг, відео, курсів та інших матеріалів. Тепер тобі більше не потрібно перегортати тонни інформації ;) @genkovich — написати автору каналу.
Ko'proq ko'rsatishMamlakat belgilanmaganToif belgilanmagan
3 747
Obunachilar
-224 soatlar
+97 kun
+6630 kun
Postlar arxiv
3 747
#PHP #BestPractices
Вместе с вызовами функций
json_encode и json_decode используйте флаг JSON_THROW_ON_ERROR, вместо json_last_error(), который выкинет исключение типа JsonException.
Работает начиная с PHP 7.3.3 747
#Linux #Lifehack
Вот так жил и не знал, что существует
sudo !!
В случае, если у вас нет прав на операцию, вместо того чтобы:
1. Выбрать предыдущую команду
2. Перевести курсора в начало строки
3. Ручками писать sudo
Достаточно просто ввести sudo !! и терминал выполнит предыдущую команду, самостоятельно сделав все эти операции за вас.3 747
Вдогонку еще одна полезная опция, о которой почему-то ничего не написано в документации.
./vendor/bin/phpunit --generate-configuration
После запуска достаточно в интерактивном режиме указать путь к файлу автозагрузчика, директорию тестов и директорию приложения, команда сформирует вам тот самый phpunit.xml и заботливо положит в корень проекта.
❗️В одном из своих докладов, Себастиан Бергман признался, что создал эту команду только потому, что он ленивый и данные настройки сконфигурированы сугубо под его предпочтения. Именно поэтому, в случае генерации файла через команду, рекомендую вам обратить внимание на такие настройки:
beStrictAboutCoversAnnotation="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutTodoAnnotatedTests="true"
которые, вероятно, могут расходиться с вашими предпочтениями.
✔️ forceCoversAnnotation — Покрытие кода будет записываться только для тестов, в которых используется аннотация @covers, задокументированная в @covers.
✔️ beStrictAboutCoversAnnotation — Тест с аннотацией @covers, проверяющий код, который не указан при помощи @covers или @uses, будет отмечен как рискованный, если эта проверка включена.
❕ Если по-русски, то эта функция пометит код, как рискованный, если в рамках своего теста вы будете проверять код, который не относится к указанному коду в аннотации @covers. Хз стало ли понятнее :)
✔️ beStrictAboutOutputDuringTests — Тест, который производит вывод, например, через вызов функции print либо в тестовом коде, либо в тестируемом, будет отмечен как рискованный, если эта проверка включена.
✔️ beStrictAboutTodoAnnotatedTests — Пометит тест, как рискованный, если в аннотации метода будет содержаться @todo.
Странно, что об этой опции подробно не написано в документации.3 747
Как проверить названия тестов (методов) на адекватность?
Запустите ваш
./vendor/bin/phpunit добавив опцию --testdox
У вас также как на скрине или фиг разберешь, что в том тесте? ;)3 747
Небольшая, но поучительная статья о том, что сначала стоит думать, а потом делать. Тема конечно не пыховская, а скорее касается веб оптимизации, но вполне возможно пригодится.
3 747
Этот канал был создан и назван в честь двух моих главных хобби, а что может быть круче их симбиоза? ;)
К сожалению этот канал никак не относится к https://github.com/beerphp. Во время создания канала я просто проверил имя в телеге, но не серчил в гугле. В любом случае я готов поддержать движуху организаторов и даже помогать им с рекламой сходок, если таковые будут (корона всё таки еще не прошла).
Здесь будет не только полезный, но и развлекательный, холиварный, может быть вообще не по теме контент. Всё будет зависеть от того, сколько пива у автора внутри на данный момент =)
Welcome, запасайтесь пенным и погнали кодить
