搭建laravel
第一步 安裝composer,
第二步,在項目環境, 如www項目根目錄下
執行命令 composer create-project laravel/laravel learnlaravel 4.2.11
命令解釋 create-project 建立一個項目,
laravel/laravel 須要什麼樣的框架,symfony2也能夠是這樣安裝.
learnlaravel 項目文件夾的名稱,
4.2.11 laravel的版本.
安裝完成後,能夠使用 php artisan serve 命令來測試項目是否已經安裝成功,
執行命令後會有提示,在瀏覽器中應該輸入什麼樣的訪問路徑.
區別: 若是是在*nix環境下,可能會提示沒有權限的錯誤,請更改,chmod 777 <dir>php
第三步,在項目中安裝插件
在項目文件中,此時的www/learnlaravel/下,編輯 composer.json
"require": {
"laravel/framework": "4.2.*",
"cartalyst/sentry": "2.1.4"
},mysql
// 在require對象中添加本身沒有的插件,本次安裝的是 cartalyst/sentry , 在複製的時候不要帶任何註釋,避免在json格式解析錯誤,laravel
"require-dev": {
"way/generators": "~2.0"
},sql
// 在composer.json 中添加該對象,這是一個獨立的對象,不要與require對象混淆, 注意書寫格式,本次添加的是 way/generators;
以上2個操做完成後,能夠在命令行中運行 composer update // 用於更新composer,此時的執行環境是項目文件夾下,不然提示composer.json沒法更新數據庫
第四步,在項目中配置服務項
在 .app/config/app.php 中配置數據
1 在'providers' => array() 數組中添加
'Way\Generators\GeneratorsServiceProvider',
'Cartalyst\Sentry\SentryServiceProvider',
2 在'aliases' => array() 數組中添加
'Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry',json
主要的目的是,在composer更新後,有了sentry這個工具,須要在此聲明該工具的名稱,以及該工具對應的服務.
以上2個操做完成後, 在命令行中運行 php artisan 能夠看到有些信息是以前沒有的. 數組
第五步,在項目中配置數據庫.瀏覽器
特別注意數據庫要提早建立好.數據結構
在 .app/config/database.php中.默認使用的mysql ,使用其餘類型的數據庫在論.
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laravel', // 數據庫名,能夠提早建立好
'username' => 'root', // 數據庫用戶名
'password' => 'password', // 密碼
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'l4_', // 數據的前綴.自定義.
),mvc
配置完成後,能夠在命令行中運行 php artisan migrate --package=cartalyst/sentry
此時的執行環境是項目文件夾下 該命令的目的是建立關於登陸權限驗證的數據表.
第六步 描述數據結構(數據遷移)
在命令行中運行,此時的執行環境是項目文件夾下,
php artisan migrate:make create_articles_table --create=articles
php artisan migrate:make create_pages_table --create=pages
目的 ,建立2張數據表,
命令解釋:
migrate:make 生成數據結構的命令(Create a new migration file)
create_articles_table 建立的是哪一個表
--create=articles The table to be created
具體的能夠查看命令 php artisan migrate:make --help (其餘的命令也能夠這樣查詢幫助)
在./app/database/migrations能夠看到生成的文件,這個就是數據機構的文件,固然這個須要手動去更改一下,
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();
});
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();
});
以上2個操做完成後,能夠在命令行中運行,php artisan migrate 這步操做主要是生成表.若是不清楚,自行查幫助命令.
第七步 ,生成數據模型 orm
在命令行中運行 :
php artisan generate:model article
php artisan generate:model page
這個不須要解釋太多,mvc結構中的m就是這個文件夾. 執行結束後,能夠在 .app/model中看到生成的文件.
第八步, 數據庫內容填充.
須要補充的內容 ,在操做以前須要更新composer,
編輯./composer.json
在"require":
"fzaninotto/faker": "1.5"
在"require-dev":
"fzaninotto/faker":"^1.5"
編輯完成後,請執行 composer update
在命令行中運行
php artisan generate:seed page
php artisan generate:seed article
生成用於填充數據庫的文件, 在 .app/database/seeds/下能夠看到生成的文件
編輯生成的文件
Article::create([
'title' => $faker->sentence($nbWords = 6),
'slug' => 'first-post',
'body' => $faker->paragraph($nbSentences = 5),
'user_id' => 1,
]);
Page::create([
'title' => $faker->sentence($nbWords = 6),
'slug' => 'first-page',
'body' => $faker->paragraph($nbSentences = 5),
'user_id' => 1,
]);
注意: 以上的代碼的位置.在生成$faker後再使用.
在 DatabaseSeeder.php 中編輯
$this->call('ArticleTableSeeder');
$this->call('PageTableSeeder');
編輯後執行命令
php artisan db:seed // 填充數據庫.
如今就能夠查詢數據中表了.