使用psr-4自动加载时,我在运行函数时遇到问题。
当我直接声明应该在自动加载中的文件时,一切正常。当我切换到psr-4时,我得到该功能未定义的日志。
src / cli.php:
namespace Php\Project1\Cli;
function run()
{
...
}
bin / brain-games:
#!/usr/bin/env php
<?php
$autoloadPath1 = __DIR__ . '/../../../autoload.php';
$autoloadPath2 = __DIR__ . '/../vendor/autoload.php';
if (file_exists($autoloadPath1)) {
require_once $autoloadPath1;
} else {
require_once $autoloadPath2;
}
use function Php\Project1\Cli\run;
run();
composer.json:
"autoload": {
"psr-4": {
"Php\\Project1\\": "src/"
}
},
我得到的错误是:
PHP Fatal error: Uncaught Error: Call to undefined function Php\Project1\Cli\run() in /home/arkadiy/php-project1/bin/brain-games:15
Stack trace:
#0 {main}
thrown in /home/arkadiy/php-project1/bin/brain-games on line 15