1.分析项目,找出项目的元素并进行建模(navicat 该工具还可以到处sql语句) 建立关系
2.安装Laravel(使用composer来安装,如果没有的话先安装composer)
3.配置虚拟主机(若不支持将网站根目录指定到public目录下则不要使用)
4.创建数据库设置字符集
5.配置Laravel的数据库连接信息
6.使用‘artisan’命令进行模型创建
php artisan make:model User -m
-m会帮我们创建数据库迁移文件
7.创建表结构,若果有关联表的话应该使用‘php artisan make:migration create_post_tag_table’创建中间表
8. 8.1运行命令来生成数据表
php artisan migrate
8.2 填充数据
1.创建填充数据表的文件
php artisan make:Seeder UserSeeder
2.在UserSeeder的run方法中填充数据
public function run()
{
//
$arr = [];
for($i=0;$i<100;$i++){
$tmp = [];
$tmp['username'] = str_random(20);
$tmp['email'] = str_random(8).'@163.com';
$tmp['password'] = Hash::make('123456');
$tmp['profile'] = '/Uploads/20190226/1551184032674823.jpg';
$tmp['intro'] = str_random(100);
$tmp['created_at'] = date('Y-m-d H:i:s');
$tmp['updated_at'] = date('Y-m-d H:i:s');
$arr[] = $tmp;
}
DB::table('users')->insert($arr);
}
3.在DatabaseSeeder的run方法中调用UserSeeder类
$this->call(UserSeeder::class);
4.执行命令填充数据
php artisan db:seed
8.3 若修改了迁移文件,需要重新执行迁移文件时使用如下命令(该命令还可以回滚并重新运行迁移,这在需要完全重建数据库时很有用):
php artisan migrate:refresh --seed
9.创建路由规则访问网站后台
php artisan make:controller AdminCtroller --plain
(--plain 不创建方法)
10.在方法中解析模板(尽量做到前后台的一个划分)
11.将目标模板的源代码复制到指定的模板中
12.将模板所需要的js,css,图片内容复制到项目的public目录下,存放至一个目录中(admins文件夹的名字不能跟路由名称重名)
13.在模板中进行路径调整,建议使用asset函数进行路径调整
14.调整404页面
15.可以使用工具格式化html代码
16.资源控制器
17.sublime 安装 laravel artisan 插件
18.将代码回推 shift+tab,后推tab
19.隐式控制器与resful控制器区别:
(1)resful 1=7
隐式 1=n
(2)resful 会自动帮我们生成方法名 更简洁一些,隐式控制器不会
(3)方法名 隐式控制器 需要在方法名前面添加 请求方法(get,post)
20.分类的规律
如果是*分类 则 pid 和 path都是0
如果不是*分类 则pid 应该是父级分类的id,path应该是(父级分类的path,父级分类的id)
21. ErrorException in 79833491d30ddd73c0a46bc7f5a36eae line 31: 这样的问题 解决方案
sublime 快捷键 ctrl+p找文件 ctrl+g 定位行数
21.1 自定义函数
例如:
自定义函数的路径为:app/Common/function.php (路径在app下课自定义位置)
1.在composer.json中引用(autoload后): "files":[
"app/Common/function.php"
]
2.执行命令: composer dump-auto
3.书写自定义方法
<?php /**
*通过分类id获取分类名称
*/
function getCateNameByCateId($id)
{
if($id == 0){
return '*分类';
}
$cate = \App\Cate::find($id);
if(empty($cate)){
return '无';
}else{
return $cate->name;
}
}
?>
4.调用
{{getCateNameByCateId($cate->pid)}}
也可以在controller中调用
22. 方法伪造
<form action="/foo/bar" method="POST">
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
部分功能代码:
1. 参数是否为空的条件查询
2. with('info','操作成功') 提示信息
3. 分页(带form表单提交信息,在controller中返回request)
4. 删除用户信息(包括删除头像)
17. 在sublime中安装laravel artisan 插件
按下Ctrl+Shift+P调出命令面板 ->install->laravel5
18. 将代码回推 shift+tab
19. 隐式控制器和resful的区别
1)resful 1=7
隐式 1=n
2)resful 会自动帮我们生成方法名 更加简洁一些。隐式控制器则不会
3)方法名 隐式控制器 需要在方法名前面添加 请求方式(get,post)
20. 博客系统分类的规律
如果是*分类 则 pid 和path都是0
如果不是*分类 则pid应该是父级分类的id,path应该是父级分类的path,加符集分类的id(如:0,1,4)