php 函数和类区别吗,php – 同一文件中的函数和类:未定义函数

参见英文答案 > autoload functions in php                                    5个

根据PSR-0定义(带自动加载),我有一个带有类和函数定义的文件:

namespace Foo;

function b() {};

class Bar {}

我对该类进行了测试,放在同一名称空间中:

namespace Foo;

class BarTest {}

当我尝试访问测试类中的b()函数时,我得到一个未定义的函数错误:

namespace Foo;

class BarTest extends PHPUnit_Framework_TestCase

{

public function testSomething()

{

b();

Foo\b();

\b();

}

}

似乎没什么用.我怎么称呼这个功能?

解决方法:

PHP自动加载不支持函数.但它确实适用于静态类方法:

namespace Foo;

abstract class Util

{

static function doSomething() {

}

}

然后,您可以在其他一些文件当前命名空间中使用该类,并调用静态方法:

use Foo\Util;

Util::doSomething();

由于这是一个类方法,并且自动加载适用于类,因此这确实有效.

您可以在网站上的以下Q& A材料中找到此内容:

标签:php,namespaces,psr-0

来源: https://codeday.me/bug/20190709/1410887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值