首页 > 解决方案 > Laravel:如果传递参数,是否需要函数__construct?

问题描述

我有一堆与图像处理相关的功能,所以我创建了一个ImageProcessing.php类供我的控制器参考。我把代码放在下面——在我的ImageProcessing类中,我需要一个构造函数吗?如果需要,我需要输入什么,因为我已经传入了我需要的数据?我是 Laravel 的新手,从事 Kotlin 多年,所以我仍在学习细节。

控制器

public function processSmallImages(Request $request)
{
    $imageId = $request->input('image_id');
    $image = Image::where('id', '=', $imageId)->first();

    return (new ImageProcessing)->processSmall($image->id);
}

图像处理.php

use App\Models\Image;

class Image 

    public function processSmall($imageId)
    {
        $image = Image::find($imageId);
         //// do Image stuff

    }

标签: phplaravellaravel-5eloquent

解决方案


在这种情况下,您不需要构造函数。正如你所说,你已经有了你想要的数据,所以只需将数据传递给方法就可以了。但是,将来,如果只需要某些东西(数据)来启动您的类,那么您将需要一个构造函数并将数据传递给构造函数。


推荐阅读