ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
命名空间 --- `PHPSmarty`采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和`Composer`类库之间的命名空间冲突问题,并且实现了更加高效的类库自动加载机制。 >如果不清楚命名空间的基本概念,可以参考PHP手册:[PHP命名空间](http://www.php.net/manual/zh/language.namespaces.php "PHP命名空间") 在`PHPSmarty`中,只需要给类库正确定义所在的命名空间,并且命名空间的路径与类库文件的目录一致,那么就可以实现类的自动加载,从而实现真正的惰性加载。 例如,`\www.abc.com\plugins\Ipaddr.php`类的定义为: ```php namespace MAIJI; class IpAddr { } ``` 如果我们实例化该类的话,应该是: 在顶部载入 然后在方法内实例化该类 ```php namespace MAIJI; use maiji\IpAddr; class IpAddr { public function testa() { $ip = new IpAddr; $addr = $ip->ip('8.8.8.8'); dump($addr); } } ``` 系统会自动加载该类对应路径的类文件,其所在的路径是 `\www.abc.com\plugins\Ipaddr.php` 或者使用 ```php namespace MAIJI; class IpAddr { public function testb() { $ip = new \maiji\IpAddr(); $addr = $ip->ip('8.8.8.8'); dump($addr); } } ```