一.项目接口实战总结:
1.传参赋值错乱问题,如下:
SQLSTATE[HY093]: Invalid parameter number (SQL: select count(*) as aggregate from `cars` where `company_id` = 3345 and `status` != 7 and `user_id` in (2148, 2060, 2061, 2432, 2136, 1970, 1987, 2024-01-03 00:00:00) and `updated_at` >= 2024-01-03 23:59:59 and `updated_at` <= ? and `cars`.`deleted_at` is null)
问题原因:model从原理继承BaseModel层换成了继承一层HandleModel公共参数验证与where拼接的逻辑与逻辑层的参数冲突了,造成参数预处理错乱
解决方案:service逻辑层去掉对应公共参数的判断,直接判断其它参数,如去掉company_id即可
2.数据转化成数组报错,如下
问题原因:由于查询的数据不存在,导致转换成数组的是null报错
解决方案:当没数据时,转成数组会报错,去掉转数组,先判断不为空,在进行转化处理
二.使用 Laravel 框架需要注意的事项:
1. 版本选择:根据项目需求和开发团队的技术水平,选择合适的 Laravel 版本。确保选择的版本在支持周期内,并能够满足项目的功能和性能需求。
2. 环境配置:在开始开发之前,确保正确配置开发环境。这包括安装 PHP、Composer、数据库服务等,并配置好相关的环境变量。
3. 学习文档:Laravel 提供了详细的官方文档,包含了框架的各种功能和用法说明。在使用 Laravel 进行开发之前,建议先仔细阅读官方文档,并进行实践练习。
4. 使用 Composer 管理依赖:Laravel 使用 Composer 来管理依赖库。在开始开发之前,通过 Composer 安装项目所需的依赖包,并保持依赖包的更新。
5. 遵循 MVC 架构:Laravel 遵循 MVC(模型-视图-控制器)架构模式,建议按照这个模式组织代码,将业务逻辑和显示逻辑分离,提高代码的可读性和可维护性。
6. 使用路由定义接口:在 Laravel 中,可以使用路由来定义接口的访问路径和对应的处理逻辑。建议将接口路由定义在 `routes/api.php` 文件中,使代码更加清晰和可维护。
7. 使用数据库迁移和填充:Laravel 提供了数据库迁移和填充功能,可以方便地管理数据库结构和初始数据。使用迁移和填充可以确保团队成员之间的数据库结构一致,并简化部署和升级过程。
8. 异常处理:在开发过程中,要考虑到可能出现的异常情况,并进行相应的处理。Laravel 提供了强大的异常处理机制,可以通过自定义异常类来处理不同类型的异常情况。
9. 安全性考虑:在进行开发时,要注意保护用户数据的安全性。Laravel 提供了一些内置的安全功能,如 CSRF 保护、表单验证等。合理使用这些功能可以提高应用程序的安全性。
10. 缓存和优化:Laravel 提供了缓存和优化功能,可以提高应用程序的性能。在开发过程中,可以使用缓存功能来减少数据库查询次数,使用优化工具来提高代码的执行效率。