作曲は、私たちは(例えばpackagist.orgのように)多くの既存のライブラリを再利用することができますが、我々はまだいくつかの互換性のない作曲パッケージやライブラリを使用することができますが。また、プロジェクトで、我々はまた、クラスライブラリを作成することができ、そして作曲パッケージを作成する意図ではないかもしれません。今回は次のように独自のライブラリを使用することができます。
直接インスタンス増加
プロジェクトのカテゴリで直接使用されるいくつかの必要性は、次の方法で向上させることができるLaravel
1.クラスライブラリファイルを作成します。app/libs/class_libs/Message.php
2.ファイルの内容を書きます
<?PHPの 名前空間Libsの\のclass_libs。 クラスメッセージ{ パブリック 静的機能表示(){ } } ?>
3. composer.json
増加の自動ロードディレクトリ
" オートロード" :{ " クラスマップ" :[ " アプリケーション/データベース/移行" 、 " アプリケーション/データベース/種子" 、 " APP / LIBS / class_libs " // 在这里增加 ] }、
プロジェクトディレクトリへ4.切り替え、実行composer dump-autoload
インポートマップを作成します
作曲ダンプ、自動ロード
5.呼び出して直接インポート独自のクラスを使用Message::display()
します
この方法はまた、キュークラスを増加させる方法で、多くの人が実際には、上記の方法によれば、どこで、Laravelキューハンドラクラスを配置する必要があります知っていない
app
下のディレクトリを作成しqueues
、ディレクトリ、その後、直接インスタンス化することを許可しました
追加機能を直接呼び出すことができます
一部の人々が使用したいv()
の代わりにvar_dump()
、あなたがやりたいことはLaravelにも非常に簡単です。
1 /関数ファイルを作成しますapp/libs/function_libs/helper.php
2 /書き込みファイルの内容
<?PHPの
関数v($ MSG){
のvar_dump($のMSG)。
}
?>
3.作曲自動的にインポートリストへのファイル
" オートロード" :{ " クラスマップ" :[ ... ]、 " ファイル" [ " APP / LIBS / function_libs / helper.php " ] }、
プロジェクトディレクトリへ4.切り替え、実行composer dump-autoload
インポートマップを作成します
作曲ダンプ、自動ロード
またはプロジェクトに表示されrequire
たファイル。オープンはapp/start/global.php
、最後に追加しました:
APP_PATH必要です()。' /libs/function_libs/helper.php ' ;
個人的な感情これらの2つの方法は、ファイルがロードされる時間を制御したい場合は、OKです、とさえすることができfilter.php
、次のファイルを追加します
前アプリは::(関数($要求){ 必要とする( "{$ GLOBALS [ 'アプリ'] [ 'path.base']} /アプリ/ LIBS / function_libs / helper.php"); });
プロジェクトに直接6.機能v('hello world')
。
増加した少し複雑なクラスライブラリ
以下の方法は、ライブラリ、複数のファイルの複数の構造に適しているので、時々ライブラリは、単純なファイルではありません。
ライブラリ Myappという 検索(ノートディレクトリがある大文字の) Search.php SearchFacade.php SearchServiceProvider.php AnotherLib
Myapp/Search/Search.php
Search
クラスの名前空間Myapp\Search
。
2.自動ロードで作曲を変更
" オートロード" :{ " クラスマップ" :[ ... ] 、 " PSR-0 " :{ " Myappという":" アプリケーション/ライブラリ" } }、
3.プロジェクトで使用new Myapp\Search\Search()
するクラスをインスタンス化します
概要
最善を強制的にLaravelがない種類の方法が、しかし、一定の基準があることは交換を開発するコストよりもはるかに多くを排除し、プロジェクトに明確な構造を作ることができます。