PCS開発チーム
Xcodeで作ったmacOSアプリからLaravelのAPIを呼び出すサンプル
laravel/jetstream v5.2.0
https://github.com/laravel/jetstream/releases/tag/v5.2.0
次のリリースノートの要約です:
- @coreyhn によるフォーマット修正
- @timacdonald によるアセットの事前フェッチ機能の追加(バージョン5.x)
- @timacdonald によるPestをデフォルトのテストフレームワークとして使用する変更(バージョン5.x)
- @nunomaduro によるPest 3の使用
完全な変更ログ: リンク
laravel/breeze v2.1.5
https://github.com/laravel/breeze/releases/tag/v2.1.5
次のリリースノートの要約です:
- @driesvints による機能リクエストテンプレートの調整
- @thecodechef によるインストールスタック(Blade、Livewire、Inertia)へのBunとDenoのサポート追加
- @timacdonald によるアセットの積極的なプリフェッチ
- @thecodechef による
flushNodeModules()
へのBunとDenoのサポート追加 - @timacdonald によるPestをデフォルトのテストフレームワークとして使用
- @nunomaduro によるPest 3の使用
詳細な変更ログは以下のリンクから確認できます:
Full Changelog
Certainly! One useful Laravel tip is to leverage Eloquent relationships to simplify your database queries. By defining relationships such as hasMany
, belongsTo
, hasOne
, or belongsToMany
in your Eloquent models, you can easily retrieve related data using methods like with
or load
. This allows you to write more readable and maintainable code.
For example, if you have a Post
model and an associated Comment
model, you can define a relationship in your Post
model like this:
class Post extends Model
{
public function comments()
{
return $this->hasMany(Comment::class);
}
}
Then, you can retrieve a post along with its comments in a single query:
$post = Post::with('comments')->find($id);
This approach helps to keep your code organized and efficient.
Livewire Computedの使い所は検索機能
namespace App\Livewire;
use App\Models\Post;
use Illuminate\Contracts\Pagination\Paginator;
use Illuminate\Database\Eloquent\Builder;
use Livewire\Attributes\Computed;
use Livewire\Component;
use Livewire\WithPagination;
class Posts extends Component
{
use WithPagination;
public string $search = '';
#[Computed]
public function posts(): Paginator
{
return Post::query()
->whereAny(['title', 'content'], 'like', "%$this->search%")
->latest()
->paginate();
}
// render()は省略可。
}
inputへの入力に応じて検索結果がリアルタイムに更新される。
<input type="text" wire:model.live="search">
@foreach($this->posts as $post)
@endforeach
tailwindlabs/tailwindcss v4.0.0-alpha.23
https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.0.0-alpha.23
次のリリースノートを日本語で要約します。
追加
- プラグインの
theme()
関数に不透明度修飾子のサポートを追加しました (#14348)
【ニュース】Laravel、Accelから5700万ドルのシリーズA投資を獲得
Webアプリケーション開発において人気の高いオープンソースフレームワーク「Laravel」が、ベンチャーキャピタルAccelから5700万ドルのシリーズA投資を受けたことが発表されました。Laravelは、創設者であり現在もCEOを務めるテイラー・オットウェル氏のリーダーシップのもと、さらなる製品開発とオープンソースコミュニティへの貢献を強化していくとしています。
Laravel Cloudの展開と新製品の開発
オットウェル氏は、「Laravelは、フルスタックWebアプリケーションを構築するための最も生産的な方法であり、Laravel Cloudはそのアプリケーションをデプロイするためのプラットフォームになる」と述べ、今回の投資を通じて、より強力な製品開発に注力していく方針を示しました。すでに、Laravel Cloudの開発が進行中であり、他にも新しい製品が11月に開催される「Laracon AU」で発表される予定です。
オープンソースへのコミットメント
Laravelは、オープンソースへの取り組みを引き続き重視しています。Accelとの提携により、オープンソース開発に専念するエンジニアリングチームを拡充し、Laravelフレームワークの機能強化が進んでいます。特に、Inertia 2.0や公式のVS Code拡張機能は、この強化されたエンジニアリング体制によって生まれた成果です。
オットウェル氏は、「私は引き続きLaravelのCEOとしてチームと共に、コミュニティのために最高の製品を開発していく」と述べ、コミュニティとの密接な関係を維持しながら、より充実した製品ラインナップを提供していく意向を示しました。
Laravelの成長と新しい取り組みから目が離せません。今後の展開に注目です。
laravel/sail v1.31.3
https://github.com/laravel/sail/releases/tag/v1.31.3
リリースノートの要約:
- 修正: Dockerfile 8.3 における \ の欠落を修正しました(@saullo による https://github.com/laravel/sail/pull/718)。
公式サイトがリニューアルしてるけど
開発チームとしては一切関わってない。
たった1ページのサイトにWordPressを使う選択することはない。
laravel/sail v1.31.2
https://github.com/laravel/sail/releases/tag/v1.31.2
次のリリースノートの要約です:
- 修正: @pedrovian4 による https://github.com/laravel/sail/pull/715 で、SQLSTATE[08006] エラーを引き起こす swoole 拡張機能を修正しました。
laravel/laravel v11.1.5
https://github.com/laravel/laravel/releases/tag/v11.1.5
このリリースノートは、@laserhybiz による axios の更新に関するものです。詳細は以下のリンクから確認できます:https://github.com/laravel/laravel/pull/6440
laravel/framework v11.22.0
https://github.com/laravel/framework/releases/tag/v11.22.0
以下は、提供されたリリースノートの日本語での要約です:
- FoundationServiceProviderのドキュメントブロックを修正。
- Util::getContextualAttributeFromDependency()のReflectionParameterの@paramタイプを修正。
- CastsInboundAttributesのパラメータタイプをより具体的に修正。
- Prefetch APIを統一。
- PHP 8.4のPDOサブクラスサポートを追加。
- モデルのシリアル化で循環参照を処理。
- Eloquentの逆関係を追加。
- whereanyクロージャの機能を追加。
- 残りのワークフローを最新のUbuntuバージョンで実行するように更新。
- メソッド機能をより正確に表現するためにコメントを修正。
- CSP nonceのサポートを追加。
- ルートにenumを渡せるように修正。
- CollectionでSORT_NATURALがnullに対して警告を出さないように修正。
- カスタムイベントでprefetchを開始できるように修正。
- カスタムモデル接続でのデータベースアサーションの回帰を修正。
- DetectsLostConnections.phpを更新。
-
Model::getEventDispatcher()
のドキュメントブロックを修正。 - TrustProxiesでRequest::HEADER_X_FORWARDED_PREFIXを復元。
- QueueableトレイトのonQueue、onConnection、allOnQueue、allOnConnectionメソッドでBackedEnumを受け入れるように修正。
- 'throwIf'で使用されるのと同じパラメータタイプを'throwUnless'で使用。
- InteractsWithIOの
withProgressBar
にiterableキーを渡すように修正。 - Filesystem::hash()のドキュメントブロックを修正。
- SeeInOrder.phpでアポストロフィの処理を修正し、テストカバレッジを強化。
- テーブルプレフィックスを使用する際に外部キーを追加した後のSQLiteエラー「General error: 1 no such table」を修正。
php artisan queue:workコマンドの一般的な使い方と簡易的な使い方
一般的な使い方
VPSやAWS EC2などの普通のサーバーの場合はSupervisorなどを使ってqueue:work
コマンドをデーモンとして常時稼働し続ける。
php artisan queue:work
デプロイ時の再起動などを考慮する必要があるので実際に使うのは結構手間。
Supervisorで自動的に再起動するように設定した上でデプロイ時にはqueue:restart
コマンドで終了。
簡易的な使い方
Supervisorが使えない場合の簡単な方法はタスクスケジュールでqueue:work --once
コマンドを定期的に実行。
php artisan queue:work --once
--once
を付けると一つのジョブだけ実行してすぐ終了するのでタスクスケジュールでも実行できる。
ただしタスクスケジュールの頻度でしか実行されないので一般的な使い方より遅い。
https://laracasts.com/discuss/channels/laravel/schedule-artisan-command-doesnt-execute-command
この辺もいずれは「Laravel Cloud使えばいい」と回答することになりそう。
上級編1
ベテラン勢はそもそもqueue:work
を使わずLaravel Horizonを使う。
Forgeならqueue:work
でもHorizonでも簡単に導入できる。
上級編2
Laravel Vaporのキューはここまでのどれでもない使い方。
Laravel11 サービスコンテナAttributesのサンプル
One essential Laravel tip is to utilize Eloquent relationships effectively. By defining relationships (e.g., one-to-many, many-to-many) between models, you can simplify database queries and make your code more readable and maintainable. For instance, use methods like hasMany
, belongsTo
, and belongsToMany
to define relationships and then take advantage of chaining methods for more efficient data retrieval. This helps to keep your application's data layer organized and enhances performance by reducing the number of queries.