Php 无法访问自定义类文件laravel 5中的模型和帮助器类
我在app/Classes/common.php中创建了一个公共类 但每当我试图访问类函数中的模型时Php 无法访问自定义类文件laravel 5中的模型和帮助器类,php,laravel,laravel-5,Php,Laravel,Laravel 5,我在app/Classes/common.php中创建了一个公共类 但每当我试图访问类函数中的模型时 $new_booking_request = BookingRequest::where('host_id','=',Auth::id()) <?php class HomeController extends Controller { public function index() { $newBookingRequest = App\Models\BookingR
$new_booking_request = BookingRequest::where('host_id','=',Auth::id())
<?php
class HomeController extends Controller {
public function index()
{
$newBookingRequest = App\Models\BookingRequest::where('host_id','=',Auth::id());
}
}
我得到了这个错误
Class 'App\Models\BookingRequest' not found
甚至像Auth、URL和Cookie这样的其他类也不起作用。
有没有办法将所有类都放在我的公共类作用域中?在Laravel 5中,所有的东西都有名称空间,确保你的类有一个正确的名称空间,并且你使用你指定的名称空间调用它 要在另一个类中包含类,请确保使用
use
关键字在类定义的顶部导入必要的类。您还可以使用\
全局调用该类。例如:\Auth
,\URL
和\Cookie
对于L5中的名称空间,这里有一个快速示例:
<?php namespace App\Models;
class BookingRequest {
// class definition
}
当您的命名空间错误时,您会遇到此问题,或者您忘记使用命名空间
由于common.php位于App/Classes内部,因此在common.php内部执行以下操作:
<?php namespace App\Classes;
use View, Auth, URL;
class Common {
//class methods
}
使用会话,Cookie
(在名称空间之后)或\Session::get()
等。
<?php namespace App\Classes;
use View, Auth, URL;
class Common {
//class methods
}
<?php namespace App\Models;
BookingRequest extends \Eloquent {
//other definitions
}
<?php namespace App\Classes;
use App\Models\BookingRequest;
use View, Auth, URL;
class Common {
//class methods
}