ホームページ バックエンド開発 PHPチュートリアル CakePHP で Blade を使用するにはどうすればよいですか?

CakePHP で Blade を使用するにはどうすればよいですか?

Jun 04, 2023 am 10:01 AM
説明書 cakephp blade

CakePHP は人気のある PHP MVC フレームワークであり、Blade は Laravel フレームワークで非常に人気のあるテンプレート エンジンの 1 つです。 CakePHP には強力なテンプレート エンジンが付属していますが、場合によっては、デフォルトのテンプレート エンジンを置き換えるために他のテンプレート エンジンを使用したい場合があります。

この記事では、Blade を試してみたい開発者の助けになればと思い、CakePHP 3 で Blade テンプレート エンジンを使用する方法を紹介します。

  1. Blade のインストール

まず、Blade をインストールする必要があります。これは Composer を通じて実行できます。プロジェクトのルート ディレクトリにあるcomposer.json ファイルに依存関係を追加します。

{
    "require": {
        "illuminate/view": "5.8.*"
    }
}
ログイン後にコピー

次に、ターミナルで composer update コマンドを実行して依存関係をインストールします。

  1. CakePHP の設定

次に、Blade テンプレート エンジンを使用するように CakePHP を設定する必要があります。まず、次のコードを config/app.php ファイルに追加します。

'View' => [
    'className' => 'CakeViewView',
    'viewPath' => APP . 'Template/',
    'layoutPath' => APP . 'Template/Layout/',
    'templatePath' => APP . 'Template/',
    'cachePath' => CACHE . 'views/',
    'helpers' => [
        'Html',
        'Form',
        'Url'
    ],
    'useRenderCache' => false,
    'engine' => [
        'Blade' => [
            'className' => 'CakeBladeBladeEngine',
            'options' => [
                'cache_path' => TMP . 'blade_cache',
                'view_path' => APP . 'Template/',
                'auto_reload' => true
            ]
        ]
    ]
]
ログイン後にコピー

この構成配列では、CakePHP のビュー構成を指定し、「Blade」という名前のテンプレート エンジンを追加します。 Blade のオプションでは、キャッシュ パス、ビュー パス、およびテンプレートを自動的にリロードするかどうかを指定します。

次に、ブレード エンジンを定義するファイルを src/View/BladeEngine.php に追加する必要があります。

<?php
namespace CakeBlade;

use CakeViewEngineEngine;
use IlluminateViewCompilersBladeCompiler;
use IlluminateViewEnginesCompilerEngine;
use IlluminateViewFactory;
use IlluminateViewFileViewFinder;

class BladeEngine extends Engine
{
    public $Factory;

    public function __construct($view = null, $layout = null)
    {
        parent::__construct($view, $layout);

        $config = CakeCoreConfigure::read('App');
        $viewPath = $config['Template']['templatePath'];
        $cachePath = $config['engine']['Blade']['options']['cache_path'];

        $this->Factory = new Factory(new FileViewFinder([$viewPath]), new CompilerEngine(new BladeCompiler(new Filesystem, $cachePath)));
    }

    public function render($template, $layout = null)
    {
        return $this->Factory->make($template, compact('data'))->render();
    }
}
ログイン後にコピー

このクラスでは、CakePHP の Engine クラスを継承する BladeEngine クラスを定義します。コンストラクターでは、CakePHP の設定を使用してビュー パスを読み取り、それを Blade のコンストラクターに渡して、Blade がテンプレート ファイルを見つけられるようにします。さらに、パフォーマンスを向上させるためにキャッシュ パスを追加しました。レンダリング関数では、Blade の Factory クラスを使用してテンプレートをレンダリングします。

  1. テンプレート ファイルの作成

ブレード エンジンの構成と定義が完了したので、テンプレート ファイルの作成を開始できます。 CakePHP では、src/Template/ ディレクトリにテンプレート ファイルを作成できます。

たとえば、src/Template/Pages/home.blade.php に単純な Blade テンプレートを作成できます。

@extends('Layout.default')

@section('content')
<div class="jumbotron">
  <h1>Welcome to CakeBlade</h1>
  <p>CakePHP 3 + Blade Template Engine.</p>
  <p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a></p>
</div>
@endsection
ログイン後にコピー

このテンプレートでは、@extends を使用してレイアウトを指定します。 @section と @endsection の間のコンテンツは、レイアウトの @yield('content') ディレクティブに挿入されます。

  1. レンダリング テンプレート

ここで、ブレード エンジンを呼び出して、コントローラーでテンプレートをレンダリングできます。たとえば、PagesController に次のコードを追加します。

public function home()
{
    $this->getViewBuilder()->setClassName('CakeBlade.Blade');
    $this->set(compact('data'));
    $this->render('home');
}
ログイン後にコピー

テンプレートをレンダリングする前に、使用するビュー クラスを指定する必要があります。次に、データをビューに渡し、ロードするテンプレート ファイル名を指定します。

  1. テストの実行

これで、ブラウザーでページにアクセスして、Blade が適切に動作しているかどうかを確認できます。アドレス バーにファイル名 (http://localhost/cake_blade/pages/home など) を入力すると、先ほど作成した Blade テンプレートが表示されます。これは、テンプレート ファイルで定義したものと同じです。

概要

この記事では、CakePHP 3 の Blade テンプレート エンジンを使用してデフォルトのテンプレート エンジンを置き換える方法を紹介しました。このようにして、Blade が提供する強力な構文と機能を使用して Web アプリケーションを開発できます。機能が豊富なテンプレート エンジンを探している場合は、Blade が良い選択です。

以上がCakePHP で Blade を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

DirectX修復ツールの使い方は? DirectX修復ツールの詳しい使い方 DirectX修復ツールの使い方は? DirectX修復ツールの詳しい使い方 Mar 15, 2024 am 08:31 AM

DirectX 修復ツールは専門的なシステム ツールであり、その主な機能は現在のシステムの DirectX 状態を検出することであり、異常が見つかった場合は直接修復できます。 DirectX 修復ツールの使い方がわからないユーザーも多いと思いますので、以下の詳細なチュートリアルを見てみましょう。 1. 修復ツール ソフトウェアを使用して修復検出を実行します。 2. 修復の完了後、C++ コンポーネントに異常な問題があることを示すメッセージが表示された場合は、[キャンセル] ボタンをクリックし、[ツール] メニュー バーをクリックしてください。 3. [オプション] ボタンをクリックし、拡張機能を選択して、[拡張機能の開始] ボタンをクリックします。 4. 拡張が完了したら、再検出して修復します。 5. 修復ツールの操作が完了した後も問題が解決しない場合は、エラーを報告したプログラムをアンインストールして再インストールしてみてください。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

HTTP 525 ステータス コードの概要: その定義と応用を調べる HTTP 525 ステータス コードの概要: その定義と応用を調べる Feb 18, 2024 pm 10:12 PM

HTTP 525 ステータス コードの概要: その定義と使用法を理解する HTTP (HypertextTransferProtocol) 525 ステータス コードは、SSL ハンドシェイク中にサーバーでエラーが発生し、安全な接続を確立できないことを意味します。 Transport Layer Security (TLS) ハンドシェイク中にエラーが発生すると、サーバーはこのステータス コードを返します。このステータス コードはサーバー エラー カテゴリに分類され、通常はサーバーの構成またはセットアップの問題を示します。クライアントが HTTPS 経由でサーバーに接続しようとすると、サーバーには

Baidu Netdisk の使用方法 - Baidu Netdisk の使用方法 Baidu Netdisk の使用方法 - Baidu Netdisk の使用方法 Mar 04, 2024 pm 09:28 PM

Baidu Netdisk の使い方をまだ知らない友人も多いので、以下では編集者が Baidu Netdisk の使い方を説明しますので、必要な場合は急いでご覧ください。ステップ 1: Baidu Netdisk をインストールした後、直接ログインします (図を参照); ステップ 2: 次に、ページのプロンプトに従って [マイ共有] と [転送リスト] を選択します (図を参照); ステップ 3: 「 「友達共有」では、写真やファイルを友達と直接共有できます (図を参照); ステップ 4: 次に、「共有」を選択し、コンピューター ファイルまたはネットワーク ディスク ファイルを選択します (図を参照); 5 番目のステップ 1:次に、友達を見つけることができます (写真に示すように); ステップ 6: 「機能宝箱」で必要な機能を見つけることもできます (写真に示すように)。以上、編集者の意見です

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

See all articles