Laravel - アプリケーション構造
野心勃勃な開発者诸位、こんにちは!今日は、Laravelアプリケーションの構造を楽しく学びましょう。あなたの近所の親切なコンピュータサイエンスの先生として、私はこの強力なPHPフレームワークの詳細までを案内します。プログラミングが初めてであっても心配しないでください。基礎から始めて、少しずつ進んでいきましょう。まずは、コーヒーを淹れ、一緒に飛び込みましょう!
全体的な像
詳細に進む前に、まずLaravelの構造がなぜ重要かを理解しましょう。家を建てるとき、_randomに板を钉で止めることはないでしょう?蓝图、計画が必要です。それがまさにLaravelの構造が提供するもの——あなたのウェブアプリケーションのためのしっかりした蓝图です。
では、Laravelの主要なディレクトリをそれぞれ見ていきましょう。
App
app
ディレクトリはあなたのLaravelアプリケーションの心臓部です。ここには、アプリケーションの大部分のコアコードが存在します。
例:シンプルなコントローラーの作成
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class WelcomeController extends Controller
{
public function index()
{
return view('welcome');
}
}
この例では、シンプルなWelcomeController
を作成しています。index
メソッドは、'welcome'というビューを返します。これは通常、アプリケーションのホームページを表示するために使用されます。
Bootstrap
bootstrap
ディレクトリには、フレームワークをブートストラップするファイルが含まれています。通常は何も変更する必要はありませんが、存在することを知っておくと良いでしょう。
Config
名前が示すように、config
ディレクトリにはアプリケーションの設定ファイルがすべて含まれています。
例:アプリケーション名の変更
config/app.php
内:
'name' => env('APP_NAME', '私の素晴らしいLaravelアプリ'),
この行はアプリケーションの名前を設定します。env
関数は.env
ファイル内にAPP_NAME
の値があるか確認します。ない場合は、デフォルトで'私の素晴らしいLaravelアプリ'を使用します。
Database
database
ディレクトリには、データベースのマイグレーション、モデルファクトリー、シードが含まれています。マイグレーションはデータベーススキーマのバージョン管理と考えてください。
例:シンプルなマイグレーションの作成
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
}
このマイグレーションは、'users'テーブルを作成し、'id'、'name'、'email'、タイムスタンプカラムを含めます。down
メソッドを使用すると、必要に応じてマイグレーションを元に戻すことができます。
Public
public
ディレクトリには、すべてのリクエストがアプリケーションに entering するためのindex.php
ファイルが含まれています。このディレクトリには、画像、JavaScript、CSSなどのアセットも格納されています。
Resources
resources
ディレクトリには、ビューと未コンパイルのアセット(LESS、SASS、JavaScriptなど)が含まれています。
例:シンプルなビューの作成
resources/views/welcome.blade.php
内:
<!DOCTYPE html>
<html>
<head>
<title>私のアプリへようこそ</title>
</head>
<body>
<h1>Hello, {{ $name }}!</h1>
</body>
</html>
このビューはLaravelのBladeテンプレートエンジンを使用しています。{{ $name }}
の構文は、ビューがレンダリングされたときに$name
の実際の値に置き換えられます。
Storage
storage
ディレクトリには、コンパイルされたBladeテンプレート、ファイルベースのセッション、ファイルキャッシュ、およびフレームワークによって生成された他のファイルが含まれています。
Tests
tests
ディレクトリには、自動化されたテストが含まれています。Laravelはすぐに使えるテストフレームワークを提供しています。
例:シンプルなテストの作成
<?php
namespace Tests\Feature;
use Tests\TestCase;
class ExampleTest extends TestCase
{
public function test_the_application_returns_a_successful_response()
{
$response = $this->get('/');
$response->assertStatus(200);
}
}
このテストは、アプリケーションのホームページが正常なHTTPステータスコード(200)を返すか確認します。
Vendor
vendor
ディレクトリには、Composer依存関係が含まれています。このディレクトリを直接変更すべきではありません。
LaravelのArtisanコマンド
Laravelには強力なコマンドラインインターフェースであるArtisanがあります。以下は一般的に使用されるArtisanコマンドの表です:
コマンド | 説明 |
---|---|
php artisan serve |
開発サーバーの起動 |
php artisan make:controller |
新しいコントローラーの作成 |
php artisan make:model |
新しいモデルの作成 |
php artisan migrate |
データベースマイグレーションの実行 |
php artisan tinker |
アプリケーションとの対話 |
これらのコマンドはあなたの友です。時間と労力を節約してくれます!
締め括り
さて、皆さん!Laravelのアプリケーション構造の whirlwind tour( whirlwind tour )を楽しみました。覚えておいてください、新しいスキルを学ぶことは時間と練習がかかります。すぐに理解できない場合も、それも学習プロセスの一部です。
この締め括りにおいて、私のプログラミングの初期の日々の話を思い出しました。かつて、ファイル名にタイポがあることに数時間かけてデバッグしたことがありました。教訓は?詳細に注意を払うことと、同時に大きな図をみることも忘れないでください。
Laravelの構造は初めは複雑に見えるかもしれませんが、長期的にはあなたの生活を楽にするように設計されています。自転車に乗るのと同じで、最初は揺れが激しいかもしれませんが、一度慣れるとスムーズに進むことができます。
codingを続け、学び続け、そして最も重要なのは、楽しむことです!覚えておいてください、すべての専門家もかつては初心者でした。あなたにもできるんです!
Credits: Image by storyset