Я работаю над проектом для WebApp и хотел бы указать типы для своих свойств класса. Я не осознавал, что это функция PHP версии 7.4. *, Поэтому я прочитал this и обновил свой composer.json
, добавив соответствующий материал:
{
"name": "srmes/shopping-app-test",
"description": "an assignment from `scandiweb.com`. A simple php-based web application to display and inventory a range of products",
"require-dev": {
"phpunit/phpunit":"~9.0",
"squizlabs/php_codesniffer": "~3.0"
},
"require": {
"doctrine/orm": "~2.7",
"php": "7.4.4"
},
"config": {
"platform": {
"php": "7.4.4"
}
},
"autoload" : {
"psr-4": {
"WebApp\\": "src/"
}
},
"autoload-dev" : {
"psr-4": {
"WebApp\\Tests\\" : "tests/"
}
}
}
I тогда run composer install
и composer update
.
Похоже, с установкой проблем не возникало, за исключением того, что теперь мои тесты phpunit не запускаются:
PHPUnit 9.1.1 by Sebastian Bergmann and contributors.
Time: 58 ms, Memory: 4.00 MB
No tests executed!
И все команды composer
выдайте следующую ошибку:
Parse error: syntax error, unexpected 'string' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /Users/ScottAnderson/Documents/Tech/commissions/shopping_app_test/vendor/ocramius/package-versions/src/PackageVersions/Installer.php on line 33
По иронии судьбы это синтаксическое исключение для функции php, которую я пытался использовать! Я даже не могу запустить composer -vvv
для отладки того, какой исполняемый файл php используется composer.
Чтобы решить эту проблему, я должен использовать пакет типа phpbrew для каталог сред php?
Я предполагал, что после требования php 7.4.4 в composer.json
, что правильный php исполняемый файл будет установлен и использован composer и phpunit