我试图将Laravel 4.2应用程序迁移到Laravel 5.0中 以前在Laravel 4.2中你有一个BaseController,你创建的其他控制器可以扩展,这意味着如果我在其中添加一个方法。其他控制器将扩展BaseController可以使用它。
现在在Laravel 5.0上,他们以某种方式改变了它,而不是使用他们使用抽象类的类
<?php namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
abstract class Controller extends BaseController {
use DispatchesCommands, ValidatesRequests;
}
现在我不熟悉一个抽象类是什么,所以我的主要音乐会是否仍然可以添加functions()
,可以被其他控制器使用它来扩展它?
以扩展BaseController的控制器为例
$this->method_from_base_controller();
答案 0 :(得分:1)
是的,您可以为抽象类创建将在从抽象类继承的类中使用的方法。
抽象类和普通类之间的主要区别在于您无法创建抽象类的对象。您还可以在抽象类中创建要在子类中实现的方法。 Reference on abstract clasess on php.net