Проверка корректности кода с PHPLint. Валидация и корректировка стиля кода с CodeSniffer. Подключение статических анализаторов.
Скрытый контент
Чтобы не пропускать новые эпизоды подпишитесь на наш канал @deworkerpro в Telegram
Комментарии (22)
Arunas
Спасибо :)
Arunas
команда make init не заработала, ошибка:
Generating autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
docker run --rm -v /api:/app -w /app alpine chmod 777 var
chmod: var: No such file or directory
Makefile:26: recipe for target 'api-permissions' failed
make: *** [api-permissions] Error 1
Arunas
На Линукс Ubuntu 18.04 всё ок, видимо, какие то не поладки в видовс, с вагрантом...
Ruslan
Еще однин мученик на винде :)
Скажите как вы организовали свою работу, особенно где у вас установлен PhpStorm?
как прокинули портя в Винду?
Arunas
Никаких мучений не испытываю. C Виндовс 10 про (там PhpStorm): Vagrant UP...-> VM (Ubuntu 16 голый - там инсталируем docker-compose и др.) -> вид 192.168.56.101:8081, 192.168.56.101:8080. В PhpStorme VM достигаем через ssh (C:\Users\arsku\projects\lPggCH\puphpet\files\dot\ssh\id_rsa)... и т.д.
Ruslan
я так понимаю докер вы не используете, поэтому и мучений нет :)
Arunas
Docker у меня не в Винде, а в VM (которую запускаю с Vagrant), Vagrant позволяет работать с тем-же каталогами и от Виндовса (там PhpStorm и вид в Crome через 192.168.56.101) и от Линукса (там же Docker и др). Дайте емайл - скину скрин-шот (извините за ошибки...)
Ruslan
Vagrant and VirtualBox моя рабочая среда :) , в смысле для работы.
tvjelgava@gmail.com
И Vgrantfile скиньте, хочу посмотреть какие порты пробрасываете.
Сильно тормозит такой набор?
Arunas
Пока не тормозит. с Vagrantfile не заморачиваюсь. Скинул.
Arunas
Интересно, как Вы без Виндовс задействуете работу с кассовими апаратами и др. бизнес приборими (им надо ActiveX), ведь в магазинах, офисах стоит ВИНДОВС :)
Ruslan
Я вас цельком поддерживаю MS Word никто не отменял.
Просто я давно присматриваеюсь к Докеру и не видел в нем особой пользы, но сейчас всё проясняется и мне бы хотелось его использовать.
Думал вы тоже с этим бьётесь и можно было обменятся опытом.
Arunas
после make up, команды: make lint и make analyze прошли успешно.
Александр
У меня у одного видео при просмотре подвисает?
Юлия Елисеева
У меня всё нормально воспроизводится. Может, у вас скорость интернет-соединения низкая?
Александр
Сейчас все хорошо даже на 2х скорости. Но вчера вечером даже на нормальной скорости были подвисания.
Александр
Что вы думаете по поводу анализатора phan ? от творца php, пишут что он единственный настоящий статический анализатор - так как строит синтаксическое дерево при анализе. Но он сложноват в настройке.
Ruslan
У меня под Виндой линтер ругается :
End of line character is invalid; expected "\n" but found "\r\n"
Если делать деплой git-ом, то это заменятся автоматически, должен ли я это сообщение добавить в игнор, или всё таки нужно фиксить?
Дмитрий Елисеев
Настройте в редакторе использование "\n" для файлов.
Sergei
Дмитрий, позвольте получить от вас комментарий, что за phpspec, что за зверь такой, почему мы его не используем и чем он отличается от mockery? Спасибо.
Дмитрий Елисеев
Mockery - это независимая библиотека для создания моков и стабов вместо createMock и createStab.
PHPSpec как Behavior Driven тестовый фреймворк позволяет записывать юнит-тесты через описание поведения кода более человекочитаемым языком.
BDD подход мы будем использовать для написания приёмочных тестов.
Андрей
Дмитрий, у меня после добавления "squizlabs/php_codesniffer" или "overtrue/phplint" в composer.json и запуска make api-composer-install не происходит установки этих библиотек через Composer.
Composer выводит сообщение:
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Nothing to install or update.
При запуске composer install и при наличии файла composer.lock не проверяются изменения в файле composer.json. Приходится запускать вручную composer update.
Что вы можете посоветовать в данном случае?
Дмитрий Елисеев
Да, в lock-файле сохраняется хэш зависимостей из файла composer.json. И при ручном изменении это ломается. Так что добавляйте зависимости в файл не вручную, а через require:
composer require --dev overtrue/phplint
Иначе если правите вручную, то придётся запускать composer update, чтобы хэш персчитался. Но это обновит все пакеты.
Спасибо :)
команда make init не заработала, ошибка: Generating autoload files ocramius/package-versions: Generating version class... ocramius/package-versions: ...done generating version class docker run --rm -v /api:/app -w /app alpine chmod 777 var chmod: var: No such file or directory Makefile:26: recipe for target 'api-permissions' failed make: *** [api-permissions] Error 1
На Линукс Ubuntu 18.04 всё ок, видимо, какие то не поладки в видовс, с вагрантом...
Еще однин мученик на винде :) Скажите как вы организовали свою работу, особенно где у вас установлен PhpStorm? как прокинули портя в Винду?
Никаких мучений не испытываю. C Виндовс 10 про (там PhpStorm): Vagrant UP...-> VM (Ubuntu 16 голый - там инсталируем docker-compose и др.) -> вид 192.168.56.101:8081, 192.168.56.101:8080. В PhpStorme VM достигаем через ssh (C:\Users\arsku\projects\lPggCH\puphpet\files\dot\ssh\id_rsa)... и т.д.
я так понимаю докер вы не используете, поэтому и мучений нет :)
Docker у меня не в Винде, а в VM (которую запускаю с Vagrant), Vagrant позволяет работать с тем-же каталогами и от Виндовса (там PhpStorm и вид в Crome через 192.168.56.101) и от Линукса (там же Docker и др). Дайте емайл - скину скрин-шот (извините за ошибки...)
Vagrant and VirtualBox моя рабочая среда :) , в смысле для работы. tvjelgava@gmail.com И Vgrantfile скиньте, хочу посмотреть какие порты пробрасываете.
Сильно тормозит такой набор?
Пока не тормозит. с Vagrantfile не заморачиваюсь. Скинул.
Интересно, как Вы без Виндовс задействуете работу с кассовими апаратами и др. бизнес приборими (им надо ActiveX), ведь в магазинах, офисах стоит ВИНДОВС :)
Я вас цельком поддерживаю MS Word никто не отменял. Просто я давно присматриваеюсь к Докеру и не видел в нем особой пользы, но сейчас всё проясняется и мне бы хотелось его использовать. Думал вы тоже с этим бьётесь и можно было обменятся опытом.
после make up, команды: make lint и make analyze прошли успешно.
У меня у одного видео при просмотре подвисает?
У меня всё нормально воспроизводится. Может, у вас скорость интернет-соединения низкая?
Сейчас все хорошо даже на 2х скорости. Но вчера вечером даже на нормальной скорости были подвисания.
Что вы думаете по поводу анализатора phan ? от творца php, пишут что он единственный настоящий статический анализатор - так как строит синтаксическое дерево при анализе. Но он сложноват в настройке.
У меня под Виндой линтер ругается : End of line character is invalid; expected "\n" but found "\r\n"
Если делать деплой git-ом, то это заменятся автоматически, должен ли я это сообщение добавить в игнор, или всё таки нужно фиксить?
Настройте в редакторе использование "\n" для файлов.
Дмитрий, позвольте получить от вас комментарий, что за phpspec, что за зверь такой, почему мы его не используем и чем он отличается от mockery? Спасибо.
Mockery - это независимая библиотека для создания моков и стабов вместо createMock и createStab.
PHPSpec как Behavior Driven тестовый фреймворк позволяет записывать юнит-тесты через описание поведения кода более человекочитаемым языком.
BDD подход мы будем использовать для написания приёмочных тестов.
Дмитрий, у меня после добавления "squizlabs/php_codesniffer" или "overtrue/phplint" в composer.json и запуска make api-composer-install не происходит установки этих библиотек через Composer.
Composer выводит сообщение:
При запуске composer install и при наличии файла composer.lock не проверяются изменения в файле composer.json. Приходится запускать вручную composer update.
Что вы можете посоветовать в данном случае?
Да, в lock-файле сохраняется хэш зависимостей из файла composer.json. И при ручном изменении это ломается. Так что добавляйте зависимости в файл не вручную, а через require:
Иначе если правите вручную, то придётся запускать
composer update
, чтобы хэш персчитался. Но это обновит все пакеты.Или войти через: