在控制器抽象上添加方法 class

Adding methods on Controller abstract class

我正在尝试将 Laravel 4.2 应用程序迁移到 Laravel 5.0 之前在 Laravel 4.2 中你有一个 BaseController,你创建的其他控制器可以扩展它,这意味着如果我在其中添加一个方法。其他控制器将扩展 BaseController 可以使用它。

现在 Laravel 5.0,他们以某种方式改变了它而不是使用 class 他们使用了抽象 class

<?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;
}

现在我不熟悉抽象 class 是什么,所以我的主要音乐会是我是否仍然能够添加 functions() 以供其他控制器扩展使用?

举个控制器扩展 BaseController 的例子

$this->method_from_base_controller();

是的,您可以为抽象 classes 创建方法,这些方法将在继承自抽象 class 的 classes 中使用。

抽象classes 和普通classes 的主要区别是您不能创建抽象classes 的对象。您还可以创建要在子 classes 中实现的抽象 classes 方法。 Reference on abstract clasess on php.net