我的要求可能看起来像是糟糕的做法,但不管怎样我还是想知道它是否可行。
我正在使用composer来自动加载我的类。在其中一个类文件中,我想定义一个可以在全局命名空间内使用的函数缩写。由于composer的要求,这个类需要有命名空间。
我的问题:是否通过轻微的修改,有任何方法使其正常工作?
MyClass.php:
<?php
namespace Jodes;
class MyClass {
public function __construct() {
echo "I am the class";
}
}
function fn(){
echo "I am a shorthand for doing stuff";
}
index.php:
<?php
require_once '../vendor/autoload.php';
use Jodes\MyClass;
new MyClass();
// Jodes\fn(); // works
// fn(); // doesn't work
composer.json
{
"name": "jodes/mypackage",
"autoload": {
"psr-4" : {
"Jodes\\" : "src"
}
}
}
尽管阅读无数链接,我已经尝试了我所想到的一切,但仍然没有成功。
谢谢