laravel 5はテンプレートテーマ関数を実装します_PHPチュートリアル
laravel 5はテンプレートテーマ機能を実装しています
多くのCMにはテンプレートテーマ機能があり、設定を通じてこの機能を実装するにはどうすればよいですか?今日はこの問題について議論します。
ご存知のとおり、laravel レンダリング テンプレートは View::make() を通じて実装され、テンプレート ファイルのパスを明示的に指定する必要があります:
コードは次のとおりです:
関数インデックス()
{
return View::make('index.index');
}
この場合、テンプレート テーマ関数を自分で実装する必要があるのは、テーマ名に対応するディレクトリにテンプレート ファイルを配置することだけです。たとえば、デフォルトのテーマがデフォルトの場合、次のように記述します。
コードは次のとおりです:
{
return View::make('default.index.index');
}
カスタムテーマカスタム:
コードは次のとおりです:
{
return View::make('custom.index.index');
}
設定ファイルからテーマ名を読み取ります:
コードは次のとおりです:
{
return View::make(Config::get('app.theme','default').'.index.index');
}
これは基本的にテンプレートテーマの機能を実現しますが、まだ問題があります。つまり、カスタムテーマはすべてのデフォルトテーマのすべてのテンプレートを実装する必要があります。そうしないと、一部のページテンプレートファイルでエラーが発生するため、さらなる最適化が必要です:
コードは次のとおりです:
{
$theme = Config::get('app.theme','default');
$tpl = $theme.'.index.index';
if (!View::exists($tpl)) {
$tpl = 'default.index.index';
}
return View::make($tpl);
}
つまり、テンプレートをレンダリングする前に、まずテンプレート ファイルが存在するかどうかを確認し、存在しない場合は、デフォルト テーマの対応するテンプレートが使用されます。
非常に多くのコード行があるため、この時点で、Response::view() が View::make() と同等であることがわかり、Response にもカプセル化が行われます。メソッド Response::macro() メソッドを使用してマクロを定義でき、ロジックをマクロにカプセル化できます:
コードは次のとおりです:
$theme = Config::get('app.theme','default');
$tpl = $theme.'.'.$path;
if (!View::exists($tpl)) {
$tpl = 'デフォルト。' . }
return Response::view($tpl,$data);
});
使用:
コードは次のとおりです:
関数インデックス()$bindings = array(
「タイトル」 => 「ホームページ」
);
return Response::render('index.index',$bindings);
}
テンプレートに渡される変数は、Response::render の 2 番目のパラメータを渡す必要があることに注意してください。
今日のチュートリアルはここまでです。後で詳しく分析していきます。気に入っていただければ幸いです。
http://www.bkjia.com/PHPjc/962929.html

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

Laravel - ページネーションのカスタマイズ - Laravel には、ユーザーまたは開発者がページネーション機能を組み込むのに役立つページネーションの機能が含まれています。 Laravel ページネーターは、クエリ ビルダーおよび Eloquent ORM と統合されています。自動ページネーションメソッド

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

LaravelスケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

Laravel - ダンプサーバー - Laravel ダンプサーバーには、Laravel 5.7 のバージョンが付属しています。以前のバージョンにはダンプ サーバーが含まれていません。ダンプサーバーはlaravel/laravelコンポーザーファイルの開発依存関係になります。

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。
