5
0

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 1 year has passed since last update.

LaravelAdvent Calendar 2021

Day 14

LaravelリポジトリのDiscussionされてるアイデアを読んでみる

Posted at

この記事はLaravel Advent Calendar 2021 14日の記事です。
13日のokdyyさんの記事細かすぎて伝わらないLaravel選手権8(laravel8)では、
Laravel8のアップデート情報について知ることができましたね!

私もLaravelについて何を書こうかネタにこまって過去のアドベントカレンダー記事を見ていたところ、cocoeyes02さんの改めて Laravel/framework のコントリビュートガイドを読んでみたを発見しました。

Laravelは現在も追加開発が行われているOSSプロジェクトです。
世界中のLaravelユーザーが、今後のLaravelについて盛んに議論・開発している様子を、誰でも見て参加することもできるんです!

Laravelについてどんな議論が、どんな風にされているのか?
今後のLaravelはどうなりそうなのか?
を見ていきたいと思います。

Laravelリポジトリの紹介

LaravelはGithub上でOrganizationとして登録をしていて、Laravel関連のコードはOrganization内にまとまっています。

すこし前まではideasリポジトリで議論されていましたが、
今年7月頃には使わなくなった模様。

現在はlaravel/frameworkリポジトリのDiscussionsページでアイデアについて議論されているようです。

Discussionではアイデア以外についてもやりとりがされているため、カテゴリー絞り込みをするとチェックしやすいです。
image.png

アイデアの紹介

では、ここからは実際にアイデアをいくつか見ていきたいと思います!
*解説については私自身の意訳である点だけ承知ください

WordPressのようなプラグイン機能を追加したい

Title:ability to add plugins like wordpress
WPのようにプラグインを追加できる機能を作ってはどうか?という提案。
提案した方はプラグインの場合、composerに変更がない点をメリットとして挙げています。

コミッター間でのやりとりを見る限り、

・プラグインをlaravelに入れるための手段が別途必要になる
・Laravel自体はFWであってCMSではない(WPはLaravel製CMS)。Laravel製CMSにプラグイン機能を入れるならまだしも、FW自体には必要ないのでは?

という話がされていて、あまり賛同はえられてないようです。

controller作成コマンドにオプションを追加したい

Title:Flag --views in make:controller --resource and make:model -a

php artisan make:controller PostController --resource --viewsというコマンドを打つと、index/create/editのbladeファイルが作成されるといった感じ。

すでに実装したプルリクも作成されているため、
ver9でこのオプションが追加されるかもしれませんね!

ちなみに、提案者のPovilasKorop氏はLaravel DailyというLaravelノウハウ・エンジニアキャリアについてのチャンネルを運営しているyoutuberで、
とてもお世話になっています。

海外のLaravelエンジニアのスキルをキャッチアップしたい方にオススメです。

Collectionメソッドに@template追加したい

Title:Consider adding @template to collections

@templateとは、PHPDocに書くアノテーションのことです。
アノテーションによってPHPstanなどの静的解析ツールを使ってチェックを行えるようになります。

静的解析なにそれ?っていう方が、今年のPHPカンファで静的解析についてのトークをどうぞ!

以前、PHPstormが非対応で断念したことがあったようですが、現在は対応しているとのことで採用される運びとなったようです。

【9.x】...というタイトルで@templateを追加したプルリクがマージされたので、こちらも9系から対応するかも?
https://github.com/laravel/framework/pull/38538

パスワードのバリデーションルールにmaxを設定できるようにしたい

Title:Set max length validation rule in Validation\Rules\Password

デフォルトだとパスワードの文字数ルールが設定しづらいから、
ServiceProviderに設定を加えてはどうか?というアイデアです。

ServiceProvider.php
Password::defaults(function () {
    return Password::min(6)->max(128);
});

提案したnaolki85さん自身で考え直して取りさげになりましたが、
こういうこともカジュアルに提案できるのはいいですね!
ちなみに、個人的にはパスワードに文字数制限を設けるがデフォルトでいいとおもいました。

APIサーバ用のプロジェクト作成コマンドを追加したい

TiItle:An API skeleton

laravel new project-orange —api

Laravelプロジェクト作成時↑のように打つと、フロントエンドのassetをもたないプロジェクトを作成してくれる機能です。

マイクロサービスで開発する場合フロントエンドは別リソースになるため、
assets/*web.phpなどのファイルを削除する手間が省けそうです。

コミッター間でいろいろと話しあってましたが、すでに提案の1ヶ月前にTaylor氏が同じアイデアに着手していたことが発覚して
議論は終わりました。

こちらもver9で追加されるかもしれませんね。

### まとめ
いくつかのDiscussionの様子を覗かせてもらいました。

FWのこれからについて話しあうのって、とても刺激的ですね!
私はいままではFWユーザーとしてlaravelを見ていて、FW開発者が用意した機能を使っていたわけですが、LaravelはOSSです。
OSSある以上、私もlaravelにこんな機能があったらいいなと提案できるわけです。

私もLaravelユーザーであると同時にコミッターになれるような開発者になりたいと思います!

5
0
0

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
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?