1. ホーム
  2. laravel

[解決済み] Laravel 4のヘルパーと基本関数のベストプラクティス?

2022-05-06 04:49:36

質問

Laravel4でグローバル関数を設置するのに最適な場所を理解しようとしています。例えば、日付の書式設定などです。ファサードはモジュール化されすぎているので、ファサードを作る価値があるとは思えません。ライブラリフォルダを作成し、そこにクラスを格納するという記事を読んだことがありますが、それも単純な関数には多くのように思えます。このような「ツール」はBladeテンプレートで利用可能であるべきではないでしょうか?

このようなもののベストプラクティスと、Bladeテンプレートで利用できるようにするにはどうしたらよいでしょうか?

どのように解決するのですか?

醜く、怠惰で、ひどい方法。の末尾にある bootstrap/start.php を追加し、さらに include('tools.php') を作成し、その新しいファイルに関数を配置します。

クリーンな方法 ライブラリを作成する。そうすれば、実際に使用するときだけオートロードされる。

  • を作成します。 libraries フォルダの中に app フォルダー
  • ライブラリファイルを作成し、その中にクラスを作成し、静的関数を追加します。
  • オプション1 : 編集 start/global.php を追加して app_path().'/libraries'ClassLoader::addDirectories( の配列になります。
  • オプション2 : 編集 composer.json を追加して "app/libraries"autoload の配列になります。実行 composer dump-autoload
  • ビューからクラスや静的関数を呼び出す。

オプションについて、引用元 global.php ファイル

<ブロッククオート

Composerを使用する以外に、Laravelのクラスローダーを使用することもできます。 は、コントローラやモデルをロードします。これは、すべての Composer を更新することなく、quot;global" ネームスペースにクラスを配置することができます。

両方のオプションを組み合わせることで、Laravelクラスローダーが登録されたディレクトリのクラスを自動的に検索することができます( オプション1 そして、Composerはすべてのクラスの記録を保持しますが、あなたが更新した後にのみ、その記録を保持します( オプション2 パフォーマンスも向上するかもしれません)。