【发布时间】:2019-07-11 15:40:30
【问题描述】:
我想在 Symfony 4 中使用一个简单的函数,如下所示:
src/Service/Utils.php
<?php
namespace App\Service;
/**
* @param string $attr
*
* @return bool
*/
function attributNilTrue($attr): bool
{
return json_encode($attr) === '{"@attributes":{"nil":"true"}}';
}
some/other/file.php
use function App\Service\attributNilTrue;
if (attributNilTrue($foo['bar'])) {
// Do something...
}
但我收到以下错误:
自动加载器期望类“App\Service\Utils”在文件“/var/www/interop/vendor/composer/../../src/Service/Utils.php”中定义。这 找到文件但类不在其中,类名或命名空间可能有错字。
有没有办法做到这一点而不必创建Utils 类?
【问题讨论】:
-
基本没有。 PHP 不支持函数的自动加载。静态类函数确实是您最好的选择。或者找出使用 require 语句的最佳位置。
标签: php symfony autoloader