有没有办法防止对所有事情都使用“使用”。在 Laravel 4 中,我从未使用过“use”,一切都正常。我现在发现我必须包含所有内容,甚至包括“DB”use DB
。查找所有这些内容非常令人沮丧且耗时。
我的问题是,有没有更简单的方法来包含所有内容?
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Customer;
use DB;
class HomeController extends Controller {
}
?>
谢谢
最佳答案
并非如此——这是 PHP 5.3+ 的勇敢新命名空间世界。上面的类文件位于 App\Http\Controllers
命名空间中,这意味着当您键入类似
$object = new SomeClass;
PHP 会假设您指的是类 App\Http\Controllers\SomeClass
。
正如您所提示的,您要么需要使用 use
,或者您需要使用完整的类名(带有前导 \
让 PHP 知道从全局命名空间开始)每当你想使用一个类
class HomeController extends Controller {
public function someFunction()
{
$result = \DB::query(...);
$customer = new \App\Models\Customer;
//etc...
}
}
关于Laravel 5 防止 'use',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29460640/