如何在Laravel 5中添加外部类

Ham*_*ava 12 php laravel laravel-5

有一个课程app/Libraries/TestClass.php内容如下:

class TestClass {
      public function getInfo() {
           return 'test';
      }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想getInfo()在Controller中调用这个外部类的方法.

我该怎么办?

luk*_*ter 20

首先,您应确保此类位于正确的命名空间中.这里正确的命名空间是:

namespace App\Libraries;

class TestClass {
Run Code Online (Sandbox Code Playgroud)

然后你可以像任何其他类一样使用它:

$test = new TestClass();
echo $test->getInfo();
Run Code Online (Sandbox Code Playgroud)

不要忘记要在其中使用它的类顶部的导入:

use App\Libraries\TestClass;
Run Code Online (Sandbox Code Playgroud)

如果你没有在命名空间控制或者不想去改变它,一个条目添加到classmap您的composer.json:

"autoload": {
    "classmap": [
        "app/Libraries"
    ]
}
Run Code Online (Sandbox Code Playgroud)

然后跑composer dump-autoload.之后,您将能够以与上面相同的方式使用它,除非使用不同的(或没有)命名空间.