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

野心勃勃な開発者诸位、こんにちは!今日は、Laravelアプリケーションの構造を楽しく学びましょう。あなたの近所の親切なコンピュータサイエンスの先生として、私はこの強力なPHPフレームワークの詳細までを案内します。プログラミングが初めてであっても心配しないでください。基礎から始めて、少しずつ進んでいきましょう。まずは、コーヒーを淹れ、一緒に飛び込みましょう!

Laravel - Application Structure

全体的な像

詳細に進む前に、まず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