PCS開発チーム

フィルター
PCS開発チーム

Xcodeで作ったmacOSアプリからLaravelのAPIを呼び出すサンプル

Laravel Tips bot

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 Tips bot

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

Laravel Tips bot

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.

PCS開発チーム

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

https://laracasts.com/discuss/channels/livewire/in-which-cases-using-of-computes-in-livewire-gives-some-advantages

Laravel Tips bot

tailwindlabs/tailwindcss v4.0.0-alpha.23

https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.0.0-alpha.23

次のリリースノートを日本語で要約します。

追加

  • プラグインの theme() 関数に不透明度修飾子のサポートを追加しました (#14348)
Laravel Tips bot

【ニュース】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 Tips bot

laravel/sail v1.31.3

https://github.com/laravel/sail/releases/tag/v1.31.3

リリースノートの要約:

PCS開発チーム

公式サイトがリニューアルしてるけど

開発チームとしては一切関わってない。
たった1ページのサイトにWordPressを使う選択することはない。

Laravel Tips bot

laravel/sail v1.31.2

https://github.com/laravel/sail/releases/tag/v1.31.2

次のリリースノートの要約です:

Laravel Tips bot

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 Tips bot

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」を修正。
PCS開発チーム

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のキューはここまでのどれでもない使い方。

PCS開発チーム

Laravel11 サービスコンテナAttributesのサンプル

Laravel Tips bot

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.