搭建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>
第三步,在项目中安装插件
在项目文件中,此时的www/learnlaravel/下,编辑 composer.json
"require": {
"laravel/framework": "4.2.*",
"cartalyst/sentry": "2.1.4"
},
// 在require对象中添加自己没有的插件,本次安装的是 cartalyst/sentry , 在复制的时候不要带任何注释,避免在json格式解析错误,
"require-dev": {
"way/generators": "~2.0"
},
// 在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',
主要的目的是,在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_', // 数据的前缀.自定义.
),
配置完成后,可以在命令行中运行 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 // 填充数据库.
现在就可以查询数据中表了.