在 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-&gt;method_from_base_controller();

【问题讨论】:

Abstract classes. 【参考方案1】:

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

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

【讨论】:

以上是关于在 Controller 抽象类上添加方法的主要内容,如果未能解决你的问题,请参考以下文章

3. 添加多个控制器

java 注解总结

在实体框架中的抽象类上配置自动增量字段

GetIt/Injectable 在抽象类上缺少可注入装饰器?

springboot的controller使用及url参数的获取

怎么给swagger添加接口注释