完成一个Laravel项目的过程

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 = AppCate::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)

原文地址:https://www.cnblogs.com/qjykn/p/10304562.html