6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelのコンストラクタとは

Last updated at Posted at 2020-08-08

##はじめに
コンストラクタとはクラスからインスタンスを生成するとき(オブジェクトがnewによって作成されるとき)に自動的に呼び出されるメソッドです。
オブジェクト作成時に初期化処理が必要な場合、コンストラクタ内に記述しておけば自動的に実行してくるので大変便利です。

##コンストラクタを用いて実装してみる

class Job
{
    protected $job_service;

    public function __construct(
        JobService $job_service
    ) {
        $this->job_service = $job_service;
    }

    public function main()
    {
        $recruiting_jobs = $this->job_service->recruitingJobs();
        return $this->render($recruiting_jobs);
    }
}

メソッド名の部分を__constructとするとコンストラクタとなります。
コンストラクタのアクセス制限はpublicのみです。
コンストラクタはprivateやprotectedにすることもできますが、その場合外からnewができなくなります。(2020/09/05:追記)

##おわりに
コンストラクタに実装すれば必要なたびごとに初期化の実装が不要になるので便利ですね。

参考:コンストラクタ - Laravel学習帳

6
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?