繁体   English   中英

PHP require()无法识别别名类

[英]Php require() does not recognize aliased class

所以这主要是由我的代码结构引起的:

File1.php

use \Class1 as Blah;
require 'File2.php';

File2.php

$closure = function ($arg) {
    return new Blah($arg);
};

不知何故... as使用require()后无法识别的部分。

命名空间别名仅在您编写use语句的文件内有效 别名不会跨文件边界传输。 如果要在File2.php中将use Class1 as Blah ,则需要将该语句放在File2.php的顶部。

无法被代码识别 -Slim不是编译器,而是框架。

该代码将按照PHP编译器标准执行,因此使用默认值。

use SomeNamespace\SomeClass as SomePrefix;

无论您要实现什么目标,它都将起作用。 require_once()方法加载包含该类的PHP文件,由于您的目标是\\目录,因此我认为该类没有自定义名称空间。

如果在类内部工作,则可能是问题所在,使用require_once()加载到ParseMarkdownClass文件中后,代码应与此类ParseMarkdownClass

use ParseMarkdownClass as Md;

class SomeClass
{
    public $container;

    public function __construct()
    {
        $this->container = (object)['m' => function() {
            return new Md();
        }];
    }
}

(new SomeClass())->$container->m()->...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM