欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

php 引入类_PHP 如何引入同一文件下多个class类

发布时间:2025/5/22 php 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 php 引入类_PHP 如何引入同一文件下多个class类 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

同一文件下多个类,直接new第一个类有效,其他类无效。其实是new其他类,不执行自动载入,解决方式是,

1、手动载入,require引入这个类文件

2、new这个文件的第一个类或同文件名的类,让其自动载入

新建2个文件index.php与app/a.php

app/a.php

namespace App;

class A{

public function __construct() {

echo 'a';

}

}

class B{

public function __construct() {

echo 'b';

}

}

index.php

define('BASEDIR',__DIR__);

include BASEDIR.'/Common/Loader.php';

spl_autoload_register('\\Common\\Loader::autoload'); //类的自动载入,前文有介绍

以下index.php都省略如上这段

注意use并不会执行Common\Loader::autoload,实例化或静态使用才会执行

//这是载入B.php,不存在报错

use App\A;

new A; //a;loading:App\A

new B; //报错;loading:B

//这是载入App/B.php,不存在报错

use App\A;

use App\B;

new B; //报错;loading:App\B

//载入了A,并use了名称,找到了class B 所以使用正确。同一文件下多个class类,实例化A类,即载入了A.php

use App\A;

use App\B;

new A; //a; loading:App\A

new B; //b

原理同上,不new A一样报错

use App\A;

new A; //a; loading:App\A

new App\B; //b

其实原因就是没有载入A.php文件,使用手动载入可以避免必须new A的情况

require 'App/a.php';

new APP\B; //b

总结

以上是生活随笔为你收集整理的php 引入类_PHP 如何引入同一文件下多个class类的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。