在Laravel 5中自动加载自定义类

时间:2016-02-14 03:12:37

标签: php laravel

这是在Laravel 5中。 我在文件中有一个自定义类:

app/MyModels/MyVar.php

该文件包含:

<?php
namespace App\MyModels;
class MyVar {
    public static $myIP ="1.2.3.4"; 
}

如果我想打电话给我,我必须这样做:

首先将其包括在内:

use \App\MyModels\MyVar;

然后

echo MyVar::$myIP;

或只是在没有使用

的情况下执行此操作
echo \App\MyModels\MyVar::$myIP;

我必须这样做,所以我只能用我的名字打电话给我的班级:

echo MyVar::$myIP;

无需每次都使用使用或完整路径

也许我必须在我的应用程序中将此代码放在某处

use \App\MyModels\MyVar;

所以MyVar类可以在任何文件中工作(要自动加载)。当然,我会小心使用类名来避免重复的类。

2 个答案:

答案 0 :(得分:1)

您可以在alias中找到的aliases数组中为该课程添加config/app.php

打开文件config/app.php并将以下内容添加到aliases数组的末尾。

'MyVar' => 'App\MyModels\MyVar'

答案 1 :(得分:0)

在Laravel 5中,您可以创建任何所需的自定义类,只要它在应用程序文件夹中的任何位置即可。

app/CustomClasses/CoolThing.php

然后在文件中添加名称空间以匹配其相对文件路径。

namespace App/CustomClasses;

class CoolThing {

}

然后运行composer dumpauto重新生成自动加载文件。

composer dumpauto

然后您可以在控制器中使用自定义类

namespace App\Http\Controllers\Report;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\CustomClasses\CoolThing;

class AnnualStatement extends Controller {
    $coolThing = new CoolThing();


}