[英]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.