bucket-sort logo bucket-sort

プログラミングとインフラエンジニアリングの覚え書き

  • Posts
  • About
  • Contact
  1. Home
  2. All Posts
  3. Bladeコンポーネントの名前空間メモ(x-layouts::app.sidebarの正体)

Bladeコンポーネントの名前空間メモ(x-layouts::app.sidebarの正体)

Feb 26, 2026 Laravel bucket-sort

Laravel の Blade を触っていると、

<x-layouts::app.sidebar :title="$title ?? null">
	<flux:main>
		{{ $slot }}
	</flux:main>
</x-layouts::app.sidebar>

みたいな書き方に出会います。

最初に見たときに「x-layouts って何? components じゃないの?」となったので、 自分用に整理しておきます。

1. まず結論

<x-layouts::app.sidebar> の layouts は、 Blade コンポーネントの名前空間(alias) です。

ざっくり分解すると次のイメージです。

  • x-:Blade コンポーネント呼び出し
  • layouts:::名前空間つきで呼ぶ
  • app.sidebar:その名前空間の中の app/sidebar を指す

2. 普通の <x-...> との違い

よくあるのはこれです。

<x-alert />

これは通常、

resources/views/components/alert.blade.php

を参照します。

一方で、

<x-layouts::app.sidebar />

は「layouts という名前空間」に対して解決するので、 components 配下とは限りません。

たとえば layouts が resources/views/layouts に紐づいていれば、

resources/views/layouts/app/sidebar.blade.php

を見に行きます。

3. その名前空間はどこで登録される?

基本は Service Provider の boot() です。

例:

use Illuminate\Support\Facades\Blade;

Blade::anonymousComponentPath(resource_path('views/layouts'), 'layouts');

これで layouts:: 名前空間が使えるようになります。

なので「誰が登録しているか?」は、ざっくり次の2パターンです。

  • 自分のアプリ側(AppServiceProvider など)
  • 導入しているパッケージ側(Livewire / Flux / Jetstream など)

4. どこを見れば確実に追えるか

プロジェクト内検索で次を探すと、だいたい当たります。

  • anonymousComponentPath(
  • componentNamespace(
  • layouts::
  • 'layouts'

また、従来のレイアウト機能との混同に注意です。

@extends('layouts.app')

これは Blade コンポーネントではなく、ビュー継承の仕組みです。 <x-layouts::...> とは別物です。

5. 自分向けメモ(混乱しやすいポイント)

  • <x-layouts.app> と <x-layouts::app> は別物
  • . はコンポーネント名の階層
  • :: は名前空間の区切り
  • x-... だからといって必ず resources/views/components とは限らない

ここが頭に入っていれば、 Livewire starter kit のレイアウトまわりを読んだときに迷いにくくなるはずです。

Laravel Blade
← Bladeコンポーネントの整理メモ Tailwind CSSの覚え書き →

Related Posts

  • Tailwind CSSの覚え書き Feb 27, 2026
  • Bladeコンポーネントの整理メモ Feb 25, 2026
  • Laravel の Event / Listener で Pub/Sub を実装する Apr 2, 2026
  • PHP/Laravel で値の状態を判定するヘルパ関数まとめ Mar 30, 2026

Table of Contents

  • 1. まず結論
  • 2. 普通の <x-...> との違い
  • 3. その名前空間はどこで登録される?
  • 4. どこを見れば確実に追えるか
  • 5. 自分向けメモ(混乱しやすいポイント)

Recent Posts

  • Laravel の Event / Listener で Pub/Sub を実装する Apr 2, 2026
  • [C#] delegate と event の仕組みを整理する Apr 1, 2026
  • Pub/Sub パターンとは何か Mar 31, 2026
  • PHP/Laravel で値の状態を判定するヘルパ関数まとめ Mar 30, 2026
  • Filament の dehydrated メソッドとは何か Mar 29, 2026

Categories

  • AWS27
  • C#22
  • .NET20
  • Laravel16
  • Linux12
  • Apache8
  • MySQL8
  • PHP8
  • DynamoDB6
  • Nginx5
  • WordPress4
  • インフラ4
  • Hugo3
  • セキュリティ3
  • .NET Framework1
  • Aurora1
  • Filament1
  • Git1
  • SQS1

Tags

  • AWS
  • C#
  • .NET
  • Laravel
  • PHP
  • MySQL
  • セキュリティ
  • Linux
  • Apache
  • Code Snippet
  • DynamoDB
  • NoSQL
  • PHP-FPM
  • RDS
  • DoS
  • Nginx
  • Windows
  • WordPress
  • パフォーマンス
  • 監視
  • Amazon Linux 2023
  • CMS
  • Docker
  • Ipset
  • Iptables
  • OPCache
  • Webサーバー
  • 認可
  • Aurora
  • Blade
Powered by Hugo & Explore Theme.