[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Компиляция РНР и TDD
stump
Производя РПТ во время выполнения тестов происходит интерпритация РНР с компилированием результата и + исполнение функций тестов.

Если в каком либо из файлов допущена ошибка то выполнение тестов невозможно и также невозможно узнать где и в каком месте допущена ошибка (например опечатка). Вместе с РПТ еще и тестировать в браузере бессмысленно.

И тут появилась идея о внедрении в разработку какого-то средства компиляции РНР файлов (т.е. их запуск и проверка синтаксиса и пунктуации). И тут задался вопрос: существует ли такое средство чтобы можно было бы скопом запустить файлы из разных мест хранения чтобы узнавать где и какая опечатка если такая есть.

_____________
Трус не играет в хокей
sergeiss
Цитата (stump @ 3.03.2015 - 20:48)
И тут появилась идея о внедрении в разработку какого-то средства компиляции РНР файлов (т.е. их запуск и проверка синтаксиса и пунктуации).

Например, phpStorm всё это проверяет :) И не только в ПХП, а также и в JS. Заодно он показывает, если используются неинициализированные переменные. И многое другое.

Допустим, напишешь
$text .= 'abcd';

если такая переменная не была объявлена, то phpStorm напишет предупреждение.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
stump
Цитата (sergeiss @ 3.03.2015 - 21:09)
Цитата (stump @ 3.03.2015 - 20:48)
И тут появилась идея о внедрении в разработку какого-то средства компиляции РНР файлов (т.е. их запуск и проверка синтаксиса и пунктуации).

Например, phpStorm всё это проверяет :) И не только в ПХП, а также и в JS. Заодно он показывает, если используются неинициализированные переменные. И многое другое.

Допустим, напишешь
$text .= 'abcd';

если такая переменная не была объявлена, то phpStorm напишет предупреждение.

NetBeans тоже такое делает! В моем самоспоре NetBeans vs PHPStorm победил NetBeans люблю Oracle smile.gif. Наверное пример со привел неудачный с точкой запятой - это быстро отлавливается IDE. Вот другой пример: В конструкторе одного из классов идет инициализация агрегируемого класса. В браузерной версии все проходит отлично потому что загружен класс autoload в файле тестов класс autoload не подгружен и все сторонние файлы надо инклудить include_once. Файл добавленного класса не был проинклуден и тесты выдали ошибку синтаксиса так как загружался класс текст которого неизвестен, был бы инструмент сразу бы прогнал, узнал что непроинклуден файл, добавил строку и пошел дальше. Без инструмента все плохо: надо глазами искать ошибку во всех файлах. Если проект в середине то этого бывает затягивается на очень долго.

Все преимущества в пользу неведомого, может быть еще и не разработанного сервиса smile.gif !

_____________
Трус не играет в хокей
volter9
stump
Может PHPLint поможет: http://www.icosaedro.it/phplint/ ?

_____________
Мой блог
stump
Цитата (volter9 @ 4.03.2015 - 00:27)
stump
Может PHPLint поможет: http://www.icosaedro.it/phplint/ ?

Интересная пргограмулина. Уверен что будет полезной в общем процессе разработки. Я пробовал ее и пришла мысль использовать магический autoload для автоподгрузки классов при тестировании. а в броузеной версии вырубить функцию __autoload в пользу spl. Это должно решить часть проблем с компиляцией во время неведения ошибок.

_____________
Трус не играет в хокей
bestxp
Используйте hhvm как статический анализатор кода
stump
Средство о котором я замечтался во время написания поста называется консоль РНР smile.gif
В вин надо делать так: cmd > phpunit.bat path_to_test_file и всего делов.

biggrin.gif

_____________
Трус не играет в хокей
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.