Laravel框架下的Todos项目

laravel框架下的Todos项目

需要工具:phpStrom和laragon

一、工程创建

Laravel框架下的Todos项目

Laravel框架下的Todos项目

输入项目名称后,在命令行创建工程时,改变composer镜像地址:

  1. Ctrl+C中断创建

  2. 打开Laragon的终端键入如下指令composer config -g repo.packagist Composer
    https://mirrors.aliyun.com/composer/

  3. 重新加载Apache

  4. 通过下图方式快速访问

Laravel框架下的Todos项目

使用phpStrom打开工程目录

Laravel框架下的Todos项目

Laravel框架下的Todos项目

二、Laravel中的视图、控制器和模型

Laravel是一个符合MVC模式的框架。MVC即将应用拆分为模型、控制器和视图三个层次
(Model、Controller and View),三个层次各司其职,相互配合使功能模块的实现
结构清晰,便于开发和维护。

Laravel框架下的Todos项目

(1)视图层:展示界面和模型层数据。

Laravel的视图层代码放在resources下

①视图页面存放于resources/views

(刚建立完工程时只有welcome.blade.php文件)

Laravel框架下的Todos项目

②视图的样式放于resources/sass

Laravel框架下的Todos项目

③视图文件是.blade.php,即支持laravel blade模板
语法的php文件。blade模板语法参看文档https://laravel.com/docs/7.x/blade

④在resources/views目录下创建about.blade.php

⑤在routes/web.php中添加路由(路由定义了WEB应用中各种页面/API请求的入口),通过Get请求,
在about路径下能获取到about页面。

Laravel框架下的Todos项目

Laravel框架下的Todos项目

(2)控制层:操作视图和模型层,控制数据在视图 和模型层之间流动。

①Laravel的控制器层代码放在app/Http/Controller中

②创建控制器可利用artisan工具(它是laravel提供的命令行

工具),执行命令: php artisan make:Controller <控制器类名>

Laravel框架下的Todos项目

③利用artisan工具创建AboutController控制器

  • 在laragon打开终端,使用cd进入项目Todos

  • 输入命令php artisan make:Controller AboutController

④在控制器中定义index方法返回about页面

Laravel框架下的Todos项目

⑤在web.php用AboutController的index方法替代 /about路由中的处理函数

Laravel框架下的Todos项目

(3)模型层:代表一个存取数据的对象。

①Laravel的模型层代码放在app/中

②创建模型可利用artisan工具,执行命令:php artisan make:Model <模型类名>

Laravel框架下的Todos项目

③在.env中设置数据库连接配置

Laravel框架下的Todos项目

数据库名和数据库密码根据自己的写

④利用migrate创建数据库迁徙文件

  • 迁徙文件位于database/migrations目录中

Laravel框架下的Todos项目

  • 创建迁徙文件可用命令: php artisan make:migration <迁徙文件名称>

  • 迁徙文件中创建表字段

Laravel框架下的Todos项目

  • 执行数据库迁徙

  • 在laragon打开终端,cd进入工程目录,输入命令 php artisan migrate

⑤利用Seeder和Factory填充测试数据

  • 创建TodoFactory:php artisan make:factory <工厂名称> -m <模型名>

Laravel框架下的Todos项目

• 创建TodoSeeder填充数据并在其中引用factory生成伪数据

Laravel框架下的Todos项目

  • 创建TodoSeeder:php artisan make:seeder <seeder名称>

Laravel框架下的Todos项目

  • 在终端执行seed操作,并在数据库验证填充情况

Laravel框架下的Todos项目

Laravel框架下的Todos项目

三、MVC模式下实现TODOS列表

(1) M —— Todo Model 模型数据

(2) V —— todos/index.blade.php 视图

(3) C —— TodoController 控制器

(4) 在C中取出M中的数据送到V中显示

四、视图层部分

(1)welcome. blade.php欢迎界面

视图

Laravel框架下的Todos项目

路由

Laravel框架下的Todos项目

效果图

点击TODOS APP即可实现页面跳转

Laravel框架下的Todos项目

(2)index.blade.php列表展示

视图

Laravel框架下的Todos项目

路由

Laravel框架下的Todos项目

效果图

Laravel框架下的Todos项目

(3)app.blade.php 导航栏与提示

视图

Laravel框架下的Todos项目

效果图

Laravel框架下的Todos项目

(4)create.blade.php向列表添加新内容

Laravel框架下的Todos项目

路由

Laravel框架下的Todos项目

Laravel框架下的Todos项目

效果图

①未输入完整

Laravel框架下的Todos项目

②输入完整

Laravel框架下的Todos项目

(5)show.blade.php 查看详情

点击view即可跳转到show.blade.php

Laravel框架下的Todos项目

视图

Laravel框架下的Todos项目

路由

Laravel框架下的Todos项目

效果图

Laravel框架下的Todos项目

(6)edit.blade.php

视图

Laravel框架下的Todos项目

路由

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l5uI0KiT-1593518845348)(media/1379219f5f7308f8019fc3efee62a9da.png)]

Laravel框架下的Todos项目

效果图

Laravel框架下的Todos项目

五、控制器

(1)数据创建

表单数据提交在create.blade.php中

控制器

在TodoController.php的一部分

Laravel框架下的Todos项目

效果图

新建表单内容时的提示消息已在四-(4)展示。当新建内容提交成功后,会在列表中展示出来。如四-(4)的新建内容

Laravel框架下的Todos项目

(2)数据修改

表单数据修改在edit.blade.php中

控制器

在TodoController.php的一部分

Laravel框架下的Todos项目

效果图

①修改前

Laravel框架下的Todos项目

②修改内容

Laravel框架下的Todos项目

③提交修改

Laravel框架下的Todos项目

(3)数据删除

表单数据修改在index.blade.php中

控制器

在TodoController.php的一部分

Laravel框架下的Todos项目

效果图

①删除前

Laravel框架下的Todos项目

②删除后(删除了第三个)

Laravel框架下的Todos项目

(4)已完成的显示

视图层信息在index.blade.php中

Laravel框架下的Todos项目

控制器

在TodoController.php的一部分

Laravel框架下的Todos项目

效果图

①点击Complete前

Laravel框架下的Todos项目

②点击后

Laravel框架下的Todos项目

(2)已完成的取消

视图层信息在show.blade.php中

Laravel框架下的Todos项目

控制器

在TodoController.php的一部分

Laravel框架下的Todos项目

效果图

①随机选一个表示为已完成的项。点击VIEW

Laravel框架下的Todos项目

②点击Conceal

Laravel框架下的Todos项目

(2)已完成的取消

视图层信息在show.blade.php中

Laravel框架下的Todos项目

控制器

在TodoController.php的一部分

Laravel框架下的Todos项目

效果图

①随机选一个表示为已完成的项。点击VIEW

Laravel框架下的Todos项目

②点击Conceal

Laravel框架下的Todos项目