Laravel 5 中国語ドキュメント:
1. http://laravel-china.org/docs/5.0
2. http://www.golaravel.com/laravel/docs/5.0/
デフォルト条件
この記事は、完全に構成された PHP + MySQL オペレーティング環境がすでにあり、PHP Web サイトの操作の基本知識を理解していることを前提としています。このチュートリアルに従うことで、ログインを含む基本的なシンプルなブログ システムを取得し、いくつかの強力な Laravel プラグインとコンポーザー パッケージの使用方法を学びます (Laravel プラグインはコンポーザー パッケージでもあります)。
ソフトウェアバージョン: PHP 5.4+、MySQL 5.1+
この記事は、PHP や MVC プログラミングをまったく理解していない人にはお勧めできません。この記事は、「ステップバイステップで説明する」チュートリアルではありません。この記事では、Laravel の動作ロジックを真に理解するために、大小を問わずいくつかの隠れたタスクを解決するためにある程度の努力を払う必要があります。
1. インストール
多くの人がLaravel学習の最初のステップであるインストールからブロックされています。インストールチュートリアルが複雑だからではなく、[よく知られた理由] によるものです。ここでは、composer の完全な中国語イメージ (http://pkg.phpcomposer.com/) をお勧めします。 「composer設定ファイルを変更する」ことで設定することをお勧めします。
ミラー構成が完了したら、Web サイトを配置するディレクトリ (C:\wwwroot、/Library/WebServer/Documents/、/var/www/html、/etc/nginx/html など) に切り替えます。 .) そしてコマンドを実行します:
リーリーその後、しばらく待つと、現在のディレクトリに learnlaravel5 というフォルダーが表示されます。
次に、Web サイトのルート ディレクトリを learnlaravel5/public に設定します。
設定方法がわからない場合は、オンラインで設定方法を学ぶことをお勧めします。諦めた場合は、「url」=>「http://localhost」の 29 行目をサブディレクトリ アドレスに設定できます。ただし、***/learnlaravel5/public まで設定する必要があります。
ブラウザを使用して設定したアドレスにアクセスすると、次の画面が表示されます (ローカルで設定したアドレスは http://fuck.io:88):
2. 認証システムを体験し、インストールを完了します
——上記のプロセスの後、Laravel 5 は正常にインストールされましたか?
—— いやo(╯□╰)o
ルーティング ファイル `learnlaravel5/app/Http/routes.php` のコードを表示します:
リーリーコード内のヒントに従って、http://fuck.io:88/home (ドメイン名は自分で置き換えてください) にアクセスしてみましょう。結果は実際にログイン ページにジャンプしますか?
はい、Laravel にはすぐに使える Auth システムが付属しており、ページさえも書き込まれています。
電子メール アドレスとパスワードを自由に入力し、クリックしてログインすると、おそらく次の画面が表示されます (Mac または Linux の場合):
なぜ空白なのですか?開発者ツールを使用して、このリクエストのステータス コードが 500 であることを確認してください。なぜですか?
`learnlaravel5/storage` ディレクトリには 777 権限がないためです。
シェルコマンドを実行:
リーリー次の画面が表示されたら、http://fuck.io:88/home に再度アクセスし、必要に応じてメールアドレスとパスワードを入力します。
ミラーを設定したくない学生は、Laravel 業界で非常に有名な An Zhengchao によって作成されたインストール アーティファクトを使用できます: https://github.com/overtrue/latest-laravel
3. データベースの作成と移行
Laravel 5 では、データベース設定の場所が `learnlaravel5/.env` に変更されました。このファイルを開いて、次の 4 つの項目を正しい情報に編集します。 リーリーlaravel5 という名前の新しいデータベースを作成することをお勧めします。学習の便宜上、root アカウントを使用して直接操作することをお勧めします。
Laravel は認証部分の移行を準備しました。次のコマンドを実行してデータベース移行操作を実行します。 リーリー
得られた結果は次のとおりです:
コマンドの実行時にエラーが発生した場合は、データベースの接続設定を確認してください。
4. モデル
次に、Laravel の最も強力な部分である Eloquent ORM について説明します。これは、Cook の言葉を借りると、「Goose girl は最高です!」です。
コマンドを実行します:リーリー
> Laravel 4 の時代には、新しいモデルを作成するために Generator プラグインを使用していました。現在、Laravel 5 では Generator が Artisan に統合されています。
现在,Artisan 帮我们在 `learnlaravel5/app/` 下创建了两个文件 `Article.php` 和 `Page.php`,这是两个 Model 类,他们都继承了 Laravel Eloquent 提供的 Model 类 `Illuminate\Database\Eloquent\Model`,且都在 `\App` 命名空间下。这里需要强调一下,用命令行的方式创建文件,和自己手动创建文件没有任何区别,你也可以尝试自己创建这两个 Model 类。
Model 即为 MVC 中的 M,翻译为 模型,负责跟数据库交互。在 Eloquent 中,数据库中每一张表对应着一个 Model 类(当然也可以对应多个)。
如果你从其他框架转过来,可能对这里一笔带过的 Model 部分很不适应,没办法,是因为 Eloquent 实在太强大了啦,真的没什么好做的,继承一下 Eloquent 类就能实现很多很多功能了。
如果你想深入地了解 Eloquent,可以阅读系列文章:Laravel 5框架学习之Eloquent 关系
接下来进行 Article 和 Page 类对应的 articles 表和 pages表的数据库迁移,进入 `learnlaravel5/database/migrations` 文件夹。
在 ***_create_articles_table.php 中修改:
Schema::create('articles', function(Blueprint $table) { $table->increments('id'); $table->string('title'); $table->string('slug')->nullable(); $table->text('body')->nullable(); $table->string('image')->nullable(); $table->integer('user_id'); $table->timestamps(); });
在 ***_create_pages_table.php 中修改:
Schema::create('pages', function(Blueprint $table) { $table->increments('id'); $table->string('title'); $table->string('slug')->nullable(); $table->text('body')->nullable(); $table->integer('user_id'); $table->timestamps(); });
然后执行命令:
php artisan migrate
成功以后, tables 表和 pages 表已经出现在了数据库里,去看看吧~
5. 数据库填充 Seeder
在 `learnlaravel5/database/seeds/` 下新建 `PageTableSeeder.php` 文件,内容如下:
<?php use Illuminate\Database\Seeder; use App\Page; class PageTableSeeder extends Seeder { public function run() { DB::table('pages')->delete(); for ($i=0; $i < 10; $i++) { Page::create([ 'title' => 'Title '.$i, 'slug' => 'first-page', 'body' => 'Body '.$i, 'user_id' => 1, ]); } } }
然后修改同一级目录下的 `DatabaseSeeder.php`中:
// $this->call('UserTableSeeder');
这一句为
$this->call('PageTableSeeder');
然后运行命令进行数据填充:
composer dump-autoloadphp artisan db:seed
去看看 pages 表,是不是多了十行数据?
本教程示例代码见:https://github.com/johnlui/Learn-Laravel-5
大家在任何地方卡住,最快捷的解决方式就是去看我的示例代码。
以上所述就是本文的全部内容了,希望能够对大家学习Laravel5框架有所帮助。