有人用过 PHP 的 use function 吗?
今天想在类文件里面 use 一个方法的引用,查看官方文档是有的。
地址:http://www.php.net/manual/zh/language.name...
但是我引用就是不成功总是报错方法不存在,是我姿势不对吗
controller.php
namespace App\Http\Controllers;
use function App\Http\Controllers\helper;
class WelcomeController
{
public function test() {
helper();
}
}
function.php
namespace App\Http\Controllers;
function helper()
{
return 1;
}
报错
Call to undefined function App\Http\Controllers\helper()
有没有大佬指点一下
PHP 7.1
先得 new 出来吧
@Ken 官方文档么有 new function,都是 new class
觉得这种调法其实不是太好,不过觉得蛮有意思尝试写了个测试
然后在tinker里执行
也是报了致命错误,找不到 Asdcse\testAbc() 函数,emmmmmmmmmmmmmmmmmmmmmmmm
编辑器是不报错了, 但是tinker跑着就报错了,
开头那里是贴过来的时候手误,namespace写成name了
@Kurisu 这是个假的吗,我是看见七牛云php-sdk 那么写的
https://github.com/qiniu/php-sdk/blob/mast...
28行
@ADKi emmmmmmmmmmmmmmmm...或许是姿势不对....
autoload应该没有加载到那个helper.php文件
@gaohuag 这不是引入命名空间就行了嘛
@gaohuag
@ADKi
有可能,明天
composer dumpautoload
试试帖子有点老了,既然看到了就回复下。
autoload是用来自动加载class的,并不能自动加载function文件。需要手工inlude。
或者我觉得可以采用下面代码:
我现在是把我们的一些共用方法放到一个名为Functions的文件,其中顶部写了如上类似的class Functions{},需要使用前或者入口文件Functions::load()