在 Controller 抽象类上添加方法
Posted
技术标签:
【中文标题】在 Controller 抽象类上添加方法【英文标题】:Adding methods on Controller abstract class 【发布时间】:2015-06-02 15:40:27 【问题描述】:我试图将 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();
【问题讨论】:
Abstract classes. 【参考方案1】:是的,您可以为抽象类创建方法,这些方法将在从抽象类继承的类中使用。
抽象类和普通类的主要区别在于你不能创建抽象类的对象。您还可以在抽象类中创建要在子类中实现的方法。 Reference on abstract clasess on php.net
【讨论】:
以上是关于在 Controller 抽象类上添加方法的主要内容,如果未能解决你的问题,请参考以下文章
GetIt/Injectable 在抽象类上缺少可注入装饰器?