В Windows у меня есть следующий скрипт в файле с именем TrelloInt.main.php
<?php
$importData = file_get_contents("TrelloData\TrelloJsonExport.txt");
$json = json_decode($importData);
var_dump($json);
?>
все, что делает файл var_dump
декодированный объект JSON на экран.
когда я открываю командную строку, я использую следующий скрипт в командном файле
d:
cd "_Work\Automation\Selenium\_Selenium Server"
start call selenium
SET PATH=%PATH%;D:\_Work\Automation\Selenium\_php5.6.14;
cd ../
cls
Селен — это вызов командного файла для запуска сервера селен, но для этого не важно, важная часть SET PATH=%PATH%;D:\_Work\Automation\Selenium\_php5.6.14;
который я использую, так что я могу просто использовать php
или же phpunit
в командной строке из любой папки
внутри моей папки php у меня есть файл phpunit.cmd со следующей строкой
@php "%~dp0phpunit.phar" %*
теперь из командной строки, если я позвоню php TrelloInt.main.php
я получаю свой var_dump, аналогично, если я использовал phpunit TrelloInt.main.php
за исключением того, что он жалуется на отсутствие класса TrelloInt.main (ожидается)
Однако я могу позвонить в мой PHP-файл с phpunit trelloint.main
и это будет работать нормально, но когда я вызываю мой файл с php trelloint.main
он говорит, что не может открыться, но он будет работать нормально, когда я добавлю .php в конце.
Есть ли способ получить php, чтобы игнорировать расширение в конце, как, например, PHPUnit в командной строке Windows
Это не имеет ничего общего с командной строкой Windows, и не имеет ничего общего с игнорированием расширений.
Интерпретатор PHP и PHPUnit просто ожидают разные аргументы:
php
ожидает файл в качестве аргумента. Он с радостью принимает что-то вроде trelloint.main.php
,phpunit
ожидает учебный класс в качестве аргумента, и предполагает, что классы существуют в файлах, названных как сами классы. Поэтому, когда приводится аргумент foo
это выглядит в foo.php
,Насколько я знаю, нет способа вызвать код PHP по классам, используя php
бинарный, и посмотреть на его варианты не показывает никакого способа сделать это.
Других решений пока нет …