このチュートリアルのコミュニケーション グループ: 96094083
どこかで行き詰まった場合、それを解決する最も簡単な方法は、私のサンプル コードを参照するか、コミュニケーション グループでそれを提起することです。
Laravel 5 中国語ドキュメント:
1. http://laravel-china.org/docs/5.0
2. http://www.golaravel.com/laravel/docs/5.0/
の最終的な効果このプロジェクトの画像
デフォルト条件
ソフトウェアバージョン: PHP 5.4+、MySQL 5.1+
この記事は、PHP および MVC プログラミングをまったく理解していない人にはお勧めできません。この記事は、「ステップバイステップで説明する」チュートリアルではありません。この記事では、Laravel の実行ロジックを真に理解するために、大小を問わずいくつかの隠れたタスクを解決するためにある程度の努力を払う必要があります。
1. インストール
イメージの構成が完了したら、Web サイトを配置するディレクトリ (C:\wwwroot、/Library/WebServer/Documents/、/var/www/html、/etc/nginx/html など) に切り替えます。など) を実行し、コマンド:
composer create-project laravel/laravel learnlaravel5 5.0.22
次に、learnlaravel5 のフォルダーの名前を luntan に変更します。
この一連のチュートリアルでは Laravelフォルダー apache-》conf=》extra=》http-vhosts.conf
を開きます。
次に、Apache 仮想アドレス構成ファイル http-vhosts.conf の最後に、Web サイトのルート ディレクトリを luntan/public として構成します。
在后面添加如下内容<br /><VirtualHost *:80> DocumentRoot "D:\ampp\htdocs\phpb\luntan\public" ServerName www.bbs.com ServerAlias bbs.com</VirtualHost>
次に、メモ帳を使用してフォルダー C:WindowsSystem32driversetc
にある hosts ファイルを開きます
ファイルの最後に次の内容を追加します
127.0.0.1 www.bbs.com127.0.0.1 bbs.com
それでもいいなら」設定方法がわからない場合は、オンラインでたくさんの情報があるので、設定方法を学ぶことをお勧めします。 ***/luntan/public まで設定する必要があることに注意してください。
Apache サーバーを再起動します
おめでとうございます~ Laravel 5 が正常にインストールされました!
ミラーリングを設定したくない学生は、Laravel 業界で非常に有名な An Zhengchao によって作成されたインストール アーティファクトを使用できます: https://github.com/overtrue/latest-laravelデータベースの作成と移行
3.DB_HOST=localhostDB_DATABASE=luntanDB_USERNAME=rootDB_PASSWORD=password
luntan という名前の新しいデータベースを作成することをお勧めします。学習の便宜上、root アカウントを使用して直接操作することをお勧めします。
Laravel は認証部分の移行を準備しました。次のコマンドを実行してデータベース移行操作を実行します:
php artisan migrate
得られる結果は次のとおりです:
コマンドの実行中にエラーが発生した場合は、次のコマンドを実行してください。データベース接続設定を確認してください。
4. モデル
投稿、カテゴリ、コメントに対応するモデルクラスを作成するコマンドを実行します:
php artisan make:model Article
php artisan make:model Category<br />php artisan make:model Comment
> Laravel 4 の時代では、新しいモデルを作成するために Generator プラグインを使用していました。現在、Laravel 5 では Generator が Artisan に統合されています。
さて、Artisan は、`learnlaravel5/app/` の下に 2 つのファイル `Article.php`、Comment.php、および `category.php` を作成するのを手伝ってくれました。これらはすべて、Laravel Eloquent The Model によって提供される 3 つのモデル クラスです。クラス `IlluminateDatabaseEloquentModel` は `App` 名前空間の下にあります。ここで強調しておく必要があるのは、コマンド ラインを使用してファイルを作成することは、手動でファイルを作成することと何ら変わりません。これらの 3 つの Model クラスを自分で作成してみることもできます。
Model は MVC の M であり、モデルとして翻訳され、データベースとの対話を担当します。 Eloquent では、データベース内の各テーブルが Model クラスに対応します (もちろん、複数に対応することもできます)。
如果你从其他框架转过来,可能对这里一笔带过的 Model 部分很不适应,没办法,是因为 Eloquent 实在太强大了啦,真的没什么好做的,继承一下 Eloquent 类就能实现很多很多功能了。
如果你想深入地了解 Eloquent,可以阅读系列文章:深入理解 Laravel Eloquent(一)——基本概念及用法
接下来进行 Article 、Category和Comment 类对应的 articles、categories 表和 comments表的数据库迁移,进入 `luntan/database/migrations` 文件夹。
在 ***_create_articles_table.php 中修改:
<?php<br /><br />use Illuminate\Database\Schema\Blueprint;<br />use Illuminate\Database\Migrations\Migration;<br /><br />class CreateArticlesTable extends Migration<br />{<br /> /**<br /> * Run the migrations.<br /> *<br /> * @return void<br /> */<br /> public function up()<br /> {<br /> Schema::create('articles', function(Blueprint $table)<br /> {<br /> $table->increments('id');<br /> $table->string('user_id');<br /> $table->string('title');<br /> $table->text('content');<br /> $table->integer('category')->default(0);<br /> $table->timestamps();<br /> });<br /> }<br /><br /> /**<br /> * Reverse the migrations.<br /> *<br /> * @return void<br /> */<br /> public function down()<br /> {<br /> Schema::drop('articles');<br /> }<br />}<br /><br />
在 ***_create_categories_table.php 中修改:
<?phpuse Illuminate\Database\Schema\Blueprint;use Illuminate\Database\Migrations\Migration;class CreateCategoriesTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('categories', function(Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('color'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('categories'); }}
在 ***_create_comments_table.php 中修改:
<?php<br /><br />use Illuminate\Database\Schema\Blueprint;<br />use Illuminate\Database\Migrations\Migration;<br /><br />class CreateCommentsTable extends Migration {<br /><br /> /**<br /> * Run the migrations.<br /> *<br /> * @return void<br /> */<br /> public function up()<br /> {<br /> Schema::create('comments', function(Blueprint $table)<br /> {<br /> $table->increments('id');<br /> $table->integer('message_id');<br /> $table->integer('message_user_id');<br /> $table->integer('user_id');<br /> $table->integer('state')->default(0);<br /> $table->string('content');<br /> $table->timestamps();<br /> });<br /> }<br /><br /> /**<br /> * Reverse the migrations.<br /> *<br /> * @return void<br /> */<br /> public function down()<br /> {<br /> Schema::drop('comments');<br /> }<br /><br />}
然后执行命令:
php artisan migrate
成功以后, articles 表、catogries和comments 表已经出现在了数据库里,去看看吧~
在 `luntan/database/seeds/` 下新建 `ArticleTableSeeder.php` 文件,内容如下:
<?php<br /><br />use Illuminate\Database\Seeder;<br />use App\Article;<br /><br />class ArticleTableSeeder extends Seeder {<br /><br /> public function run()<br /> {<br /> DB::table('articles')->delete();<br /><br /> Message::create([<br /> 'user_id' => '1',<br /> 'title' => '安子尘',<br /> 'content' => '子,安于尘世。',<br /> 'category' => '1',<br /> ]);<br /> }<br /><br />}
在 `luntan/database/seeds/` 下新建 `CatogryTableSeeder.php` 文件,内容如下:
<?phpuse Illuminate\Database\Seeder;use App\Category;class CategoryTableSeeder extends Seeder { public function run() { DB::table('categories')->delete(); Category::create([ 'id' => '1', 'name' => '杂谈', 'color' => '202, 60, 60', ]); }}
然后修改同一级目录下的 `DatabaseSeeder.php`中:
// $this->call('UserTableSeeder');
这一句为
$this->call('ArticleTableSeeder');
$this->call('CatogryTableSeeder');
然后运行命令进行数据填充:
composer dump-autoloadphp artisan db:seed
去看看articles 表和categories表,是不是多了一行数据?