PHP在另一个命名空间的类中的方法内使用命名空间类
是否有可能以某种方式在命名空间内实例化一个类,在另一个命名空间内的另一个类中实例化一个方法?从一个变量实例化请求的类 示例: 要从loader类加载的类: 装载机类别: 很抱歉,这个公式有点混乱,但我想不出更好的方法来问这个问题PHP在另一个命名空间的类中的方法内使用命名空间类,php,class,namespaces,instantiation,Php,Class,Namespaces,Instantiation,是否有可能以某种方式在命名空间内实例化一个类,在另一个命名空间内的另一个类中实例化一个方法?从一个变量实例化请求的类 示例: 要从loader类加载的类: 装载机类别: 很抱歉,这个公式有点混乱,但我想不出更好的方法来问这个问题 谢谢。这是加载名称空间的一般方法: 然而,有一种更流行的方法是使用 下载composer.phar并在项目目录中运行:php composer.phar init 跟随互动 在项目根目录中,创建一个src目录,然后将其添加到composer.json文件中,该文件生成
谢谢。这是加载名称空间的一般方法: 然而,有一种更流行的方法是使用
php composer.phar init
src
目录,然后将其添加到composer.json文件中,该文件生成:“autoload”:{“psr-0”:{“:“src/”}}
{
"name": "acme/sample",
"authors": [
{
"name": "Person",
"email": "person@example.com"
}
],
"minimum-stability": "dev",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
}
}
php composer.phar安装
,它将生成一个供应商目录和一个自动加载脚本签出
symfony/symfony standard
查看完整的框架示例。似乎效率低下,为什么要这样做?因为我有一个路由器类,我想加载当前页面。但是一个变通方法或建议另一种方法会很好
namespace system/loader;
class loader
{
private $vars;
private function __construct($vars)
{
$this->vars = $vars;
}
private function load_class()
{
require(CLASSES . $this->vars['namespace'] . '/' . $this->vars['class'] . ".php");
use $this->vars['namespace'];
return new \$this->vars['namespace']\$this->vars['class']();
}
}
{
"name": "acme/sample",
"authors": [
{
"name": "Person",
"email": "person@example.com"
}
],
"minimum-stability": "dev",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
}
}