《laravel大型项目系列教程(一)》由会员分享,可在线阅读,更多相关《laravel大型项目系列教程(一)(13页珍藏版)》请在金锄头文库上搜索。
1、实验楼官方网站:http:/Laravel大型项目系列教程(一)一、课程概述1.课程介绍本教程将使用Laravel完成一个多用户的博客系统,大概会包含如下内容: 路由管理。 用户管理,如用户注册、修改信息、锁定用户等。 文章管理,如发表文章、修改文章等。 标签管理,文章会有一到多个标签。 数据库管理,如迁移、填充数据等。 Web表单验证。 Blade模版引擎。 分页处理。 安全处理。 单元测试。 部署到应用服务器Apache。尽量保证每节教程完整并能运行,会在教程的最后附上这节教程的代码下载地址。Tip:教程中必要的知识点都会有一个超链接二、环境要求- PHP 5.4+- MySQL 5.1+
2、- Composer(中国镜像(http:/ go!1.新建一个Laravel项目使用如下命令创建一个名为blog的Laravel项目:$ composer create-project laravel/laravel blog -prefer-dist创建完成之后进入到blog目录,修改app/config/app.php中的timezone为RPC、locale为zh,然后在blog目录下启动它自带的开发服务器:$ php artisan serveLaravel development server started on http:/localhost:8000打开浏览器输入localh
3、ost:8000,如果页面如下图就说明项目搭建完成了:2.安装插件在composer.json中增加:require-dev: way/generators: 2.0,运行composer update安装,完成后在app/config/app.php的providers中增加:WayGeneratorsGeneratorsServiceProvider运行php artisan是不是多了generate选项,它可以快速地帮我们创建想要的组件。3.建立数据库把app/config/database.php中connections下的mysql改成你自己的配置:mysql = array( dr
4、iver = mysql, host = localhost, database = blog, username = root, password = , charset = utf8, collation = utf8_unicode_ci, prefix = ,),需要在MySQL中先创建一个名为blog的数据库配置完成之后,创建users表的数据库迁移文件:$ php artisan migrate:make create_users_table -create=users我们会发现在appdatabasemigrations下多了一个*_create_users_table.php文
5、件,在这个文件中修改:Schema:create(users, function(Blueprint $table) $table-increments(id); $table-string(email); $table-string(password); $table-string(nickname); $table-boolean(is_admin)-default(0); $table-boolean(block)-default(0); $table-timestamps(););之后进行数据库迁移:$ php artisan migrate你会惊讶地发现在数据库中多了两张表users
6、和migrations,users表就是我们定义的表,migrations表记录了迁移的信息。4.创建User模型数据库迁移完成之后我们将使用Eloquent ORM,这是Laravel让人着迷的重要原因之一。我们会发现在appmodels下已经有一个User.php文件了,对其修改:use IlluminateAuthUserInterface;use IlluminateAuthUserTrait;class User extends Eloquent implements UserInterface use UserTrait; protected $table = users; pro
7、tected $hidden = array(password, remember_token); protected $guard = array(email, password);5.填充数据有了User模型后,我们就可以向数据库填充数据了,在app/database/seeds下创建一个名为UsersSeeder.php的文件,增加如下:class UsersSeeder extends Seeder public function run() User:create( email = , password = Hash:make(), nickname = admin, is_admi
8、n = 1, ); 然后在DatabaseSeeder.php中增加:$this-call(UserTableSeeder);之后就真正地向数据库填充数据:$ php artisan db:seed你可以查看数据库,会发现users表中多了一条记录。详情可以查看Laravel中数据库的迁移和填充6.创建视图模版我们将使用Laravel中的Blade模版引擎,使用下面命令创建三个视图:php artisan generate:view _layouts.defaultphp artisan generate:view _layouts.navphp artisan generate:view _
9、layouts.footerphp artisan generate:view index之后你可以在app/views下发现多了一个index.blade.php和一个_layouts文件夹,在_layouts文件夹下有三个文件default.blade.php、footer.blade.php和nav.blade.php。我们将使用AmazeUI框架来做为前端框架,修改default.blade.php: ShiYanLou Blog HTML:style(css/custom.css) ShiYanLou Blog include(_layouts.nav) yield(main)include(_layouts.footer)URL:asset(i/favicon.ico)会生成http:/localhost:8000/i/favicon.ico,HTML:style(css/custom.css)会生成,其中的i和css文件夹是放在public目录下的,public目录是项目的资源文件夹。include(_layouts.nav)会包含app/views/_layouts/nav.blade.php文件,yield(main)是用于模版继承的。修改nav.blade.php:nav switch a href=# clas