Readouble

Laravel 5.2 アプリケーション構造

イントロダクションIntroduction

Laravelのデフォルトアプリケーション構造はアプリケーションの大小にかかわらず、素晴らしいスタートを切ってもらえることを意図しています。もちろんアプリケーションは皆さんのお好みに応じ、自由に体系立ててください。クラスがComposerによりオートローディングできるならば、Laravelはクラスをどこに配置するか強制することはまずありません。The default Laravel application structure is intended to provide a great starting point for both large and small applications. Of course, you are free to organize your application however you like. Laravel imposes almost no restrictions on where any given class is located - as long as Composer can autoload the class.

ルートディレクトリThe Root Directory

新しくインストールしたLaravelのルートディレクトリーには、様々なフォルダーが用意されています。The root directory of a fresh Laravel installation contains a variety of directories:

appディレクトリーは皆さんが想像している通り、皆さんのアプリケーションのコアコードを配置します。このフォルダーの詳細は、このあと説明します。The app directory, as you might expect, contains the core code of your application. We'll explore this directory in more detail soon.

bootstrapフォルダーはフレームワークの初期起動やオートローディングの設定を行うファイルを含んでいます。その中のcacheフォルダーは初期処理のパフォーマンスを最適化するため、フレームワークが生成するいくつかのファイルが保存されるフォルダーです。The bootstrap directory contains a few files that bootstrap the framework and configure autoloading, as well as a cache directory that contains a few framework generated files for bootstrap performance optimization.

configディレクトリには名前が示す通り、アプリケーションの全設定ファイルが設置されています。The config directory, as the name implies, contains all of your application's configuration files.

databaseフォルダーはデータベースのマイグレーションと初期値設定(シーディング)を配置します。ご希望であれば、このファイルをSQLiteデータベースの設置場所としても利用できます。The database directory contains your database migration and seeds. If you wish, you may also use this directory to hold an SQLite database.

publicディレクトリはフロントコントローラーとアセット(画像、JavaScript、CSSなど)を配置します。The public directory contains the front controller and your assets (images, JavaScript, CSS, etc.).

resourcesディレクトリはビューやアセットの元ファイル(LESS、SASS、CoffeeScript)、「言語」ファイルを配置します。The resources directory contains your views, raw assets (LESS, SASS, CoffeeScript), and localization files.

storageディレクトリーにはコンパイルされたBladeテンプレート、ファイルベースのセッション、ファイルキャッシュなど、フレームワークにより生成されるファイルが保存されます。このフォルダーはappframeworklogsディレクトリーに分かれています。appディレクトリーはアプリケーションにより使用されるファイルを保存するために利用します。frameworkディレクトリーはフレームワークが生成するファイルやキャッシュに利用されます。最後のlogsディレクトリーはアプリケーションのログファイルが保存されます。The storage directory contains compiled Blade templates, file based sessions, file caches, and other files generated by the framework. This directory is segregated into app, framework, and logs directories. The app directory may be used to store any files utilized by your application. The framework directory is used to store framework generated files and caches. Finally, the logs directory contains your application's log files.

testsディレクトリには皆さんの自動テストを配置します。サンプルのPHPUnitテストが最初に含まれています。The tests directory contains your automated tests. An example PHPUnit[https://phpunit.de/] is provided out of the box.

vendorディレクトリには、Composerによる依存パッケージが配置されます。The vendor directory contains your Composer[https://getcomposer.org] dependencies.

AppディレクトリThe App Directory

皆さんのアプリケーションの「肉」の部分は、appディレクトリー内に配置します。このディレクトリーはデフォルトで、App名前空間のもとに置かれており、PSR-4オートローディング規約を使い、Composerがオートロードしています。The "meat" of your application lives in the app directory. By default, this directory is namespaced under App and is autoloaded by Composer using the PSR-4 autoloading standard[http://www.php-fig.org/psr/psr-4/].

appディレクトリは多様なサブディレクトリを持っています。ConsoleHttpProvidersなどです。ConsoleHttpディレクトリは、アプリケーションの「コア」へAPIを提供していると考えてください。HTTPプロトコルとCLIは両方共にアプリケーションと相互に関係するメカニズムですが、実際のアプリケーションロジックではありません。言い換えれば、これらはアプリケーションに指示を出す、2つの方法に過ぎません。Consoleディレクトリは全Artisanコマンドで構成され、一方のHttpディレクトリはコントローラーやフィルター、リクエストにより構成されています。The app directory ships with a variety of additional directories such as Console, Http, and Providers. Think of the Console and Http directories as providing an API into the "core" of your application. The HTTP protocol and CLI are both mechanisms to interact with your application, but do not actually contain application logic. In other words, they are simply two ways of issuing commands to your application. The Console directory contains all of your Artisan commands, while the Http directory contains your controllers, middleware, and requests.

Eventsディレクトリは名前の通り、イベントクラスを設置する場所です。イベントは特定のアクションが起きたことをアプリケーションの別の部分に知らせるために使われ、柔軟性と分離性を提供しています。The Events directory, as you might expect, houses event classes[/docs/{{version}}/events]. Events may be used to alert other parts of your application that a given action has occurred, providing a great deal of flexibility and decoupling.

Exceptionsディレクトリはアプリケーションの例外ハンドラと、さらに自分のアプリケーションから投げる例外を置いておくには最適でしょう。The Exceptions directory contains your application's exception handler and is also a good place to stick any exceptions thrown by your application.

Jobsディレクトリーはアプリケーションのキュー投入可能なジョブを置いておく場所です。Jobsはアプリケーションによりキューに投入されるジョブを表すと同時に、現在のリクエストのライフサイクル中で定期的に実行するタスクを表します。The Jobs directory, of course, houses the queueable jobs[/docs/{{version}}/queues] for your application. Jobs may be queued by your application or run synchronously within the current request lifecycle.

Listenersディレクトリへはイベントのハンドラクラスを設置します。ハンドラはイベントを受け取り、発行されたイベントに対応するロジックを実行します。たとえばUserRegisteredイベントはSendWelcomeEmailリスナにより処理されるでしょう。The Listeners directory contains the handler classes for your events. Handlers receive an event and perform logic in response to the event being fired. For example, a UserRegistered event might be handled by a SendWelcomeEmail listener.

Policiesディレクトリにはアプリケーションの認可ポリシークラスを設置します。ポリシーは、リソースに対し指定したアクションをユーザが実行できるかを決定します。詳細は、認可のドキュメントをご覧ください。The Policies directory contains the authorization policy classes for your application. Policies are used to determine if a user can perform a given action against a resource. For more information, check out the authorization documentation[/docs/{{version}}/authorization].

注目: appディレクトリ中の多くのクラスが、Aritsan コマンドにより生成できます。使用できるコマンドを確認するには、端末でphp artisan list makeコマンドを実行してください。Note: Many of the classes in the app directory can be generated by Artisan via commands. To review the available commands, run the php artisan list make command in your terminal.

章選択

設定

明暗テーマ
light_mode
dark_mode
brightness_auto システム設定に合わせる
テーマ選択
photo_size_select_actual デフォルト
photo_size_select_actual モノクローム(白黒)
photo_size_select_actual Solarized風
photo_size_select_actual GitHub風(青ベース)
photo_size_select_actual Viva(黄緑ベース)
photo_size_select_actual Happy(紫ベース)
photo_size_select_actual Mint(緑ベース)
コードハイライトテーマ選択

明暗テーマごとに、コードハイライトのテーマを指定できます。

テーマ配色確認
スクリーン表示幅
640px
80%
90%
100%

768px以上の幅があるときのドキュメント部分表示幅です。

インデント
無し
1rem
2rem
3rem
原文確認
原文を全行表示
原文を一行ずつ表示
使用しない

※ 段落末のEボタンへカーソルオンで原文をPopupします。

Diff表示形式
色分けのみで区別
行頭の±で区別
削除線と追記で区別

※ [tl!…]形式の挿入削除行の表示形式です。

テストコード表示
両コード表示
Pestのみ表示
PHPUnitのみ表示
OS表示
全OS表示
macOSのみ表示
windowsのみ表示
linuxのみ表示
和文変換

対象文字列と置換文字列を半角スペースで区切ってください。(最大5組各10文字まで)

本文フォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

コードフォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

保存内容リセット

localStrageに保存してある設定項目をすべて削除し、デフォルト状態へ戻します。

ヘッダー項目移動

キーボード操作