所以这主要是由我的代码结构引起的:
文件1.php
use \Class1 as Blah;
require 'File2.php';
文件2.php
$closure = function ($arg) {
return new Blah($arg);
};
... as
不知何故,使用后无法识别后面的部分require()
。
所以这主要是由我的代码结构引起的:
文件1.php
use \Class1 as Blah;
require 'File2.php';
文件2.php
$closure = function ($arg) {
return new Blah($arg);
};
... as
不知何故,使用后无法识别后面的部分require()
。
命名空间别名仅在您编写use
语句的文件中有效。别名不会跨文件边界传输。如果要use Class1 as Blah
在 File2.php 中,则需要将该语句放在 File2.php 的顶部。
不被代码识别——Slim 不是编译器,它是一个框架。
代码将按照 PHP 编译器标准执行,因此使用默认值。
use SomeNamespace\SomeClass as SomePrefix;
无论您要达到什么目标,都将起作用。该require_once()
方法加载包含该类的 PHP 文件,我假设它没有自定义命名空间,因为您的目标是\
目录。
如果您在一个类中工作,那么这可能是您的问题,您的代码在使用require_once()
加载ParseMarkdownClass
文件后应该与此类似。
use ParseMarkdownClass as Md;
class SomeClass
{
public $container;
public function __construct()
{
$this->container = (object)['m' => function() {
return new Md();
}];
}
}
(new SomeClass())->$container->m()->...