从laravel中的多个控制器调用方法

时间:2016-12-21 02:01:12

标签: php laravel model-view-controller methods controller

我需要将图像保存到多个控制器(出价,文章,用户等)上,所以我可以从任何一个控制器调用一个方法,这是最好的方法,我可以实现的最好的方法是什么怎么样?

PS:我需要这样的功能/方法,因为我调整大小,重命名,裁剪等等,我想在整个上传过程中保持绝对一致性

2 个答案:

答案 0 :(得分:0)

您可以将该方法添加到Controller.php,因为控制器会扩展此控制器,因此所有控制器都将使用此方法。

答案 1 :(得分:0)

执行此操作的最佳方法是创建特征,其中包含图像模型的关系和方法。以下是我如何使用它。

Crate trait Imageable。

 trait Imageable
 {

    public function images()
    {
       //code
    }
 }

创建ProductController。

<?php

use App\Traits\Imageable;

class ProductController  extends Controller
{
    use Imageable;


}

创建CollectionController。

    <?php
    use App\Image;
    use App\Traits\Imageable;
    use Eloquent as Model;

    class CollectionController  extends Controller
    {
        use Imageable;
    }

使用此引用的trait属性。

$this->images();
$this->images();