laravel
laravel简介:
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。Laravel 7.x 自定义验证 自定义验证信息
需求:实现按字符串字数进行长度限制。类似max的功能,但是由于自带max 规则是按照字符计算长度,对中文计算存在偏差。我们需要使用mb_strlen来计算中文字数。
2021-08-05 22:30:36阅读全文
Laravel 反射机制
一、背景在laravel中,无论是路由,还是privoder都可以实现自动递归实例化。其实现的原理就是用php的反射,PHP相关反射文档:reference
2021-10-14 12:28:53阅读全文
Laravel 管道机制
一、背景有复杂的业务,功能是顺序层层递进,而且每层业务重用率也高的情况下,如果按照传统所有东西都写在一个方法,无论是代码可读性,还是解耦都是比较差的。如果这时有个管道,这个管道可以随意新增、修改就能实现一个新功能就好了。讲到管道机制,比较经典案例就是中间件了,也可以aop(Aspect Orient
2021-10-15 02:33:50阅读全文
laravel8 console调度示例
2021-10-21 08:45:57阅读全文
Laravel8自定义json日志记录HTTP请求
2021-10-22 15:58:07阅读全文
在 laravel 中轻松容易的输出完整的 sql 语句
2021-10-27 12:54:17阅读全文
laravel passport 的 oauth2机制(一)-- 安装配置
一、Oauth21、定义:OAuth 2.0 是一种授权(authorization)机制,主要用来颁发令牌(token)。2、成员:Client(客户端)Service(验证服务器)3、流程:
2021-10-29 04:21:48阅读全文
Laravel底层学习笔记01 - 框架核心,依赖注入,闭包
参考资料:laravel底层核心代码分析之核心概念讲解PHP控制反转(IOC)和依赖注入(DI)闭包匿名函数,还在傻傻搞不清楚吗?
2021-11-01 05:38:45阅读全文
Laravel底层学习笔记03 make和build
参考资料:php:laravel底层核心代码分析之make方法的实现Laravel加载过程---make方法
2021-11-01 06:53:43阅读全文
Laravel底层学习笔记02 - 服务容器,服务提供者
学习资料:laravel底层核心代码分析核心概念Laravel (5.5.33) 加载过程---instance方法
2021-11-01 04:18:11阅读全文
基于laravel 架构
2021-11-01 14:33:26阅读全文
laravel passport 的 oauth2机制(二)—— 源码解读
如果已经理解oauth2.0原理,也安装后laravel passport的情况下。现在从源码中看看相关的逻辑流程,是如何走的。在这之前我们先看下laravel如何判断http客户端请求是普通请求,还是json请求,因为passport 默认是api json请求的。\vendor\laravel\
2021-11-08 05:27:22阅读全文
Laravel底层学习笔记04 加载并启动ServiceProvider,事件(观察者模式)
参考资料:php:laravel底层核心代码分析之加载并启动serviceProviderLaravel Service Provider 中 boot 方法和 register 方法的区别php artisan 命令
2021-11-08 10:31:53阅读全文
Linux 下使用宝塔面板安装开源自媒体系统 MyCms
2021-12-30 20:00:50阅读全文
使用中间件记录Laravel慢请求
一个系统需要持续优化,日志尤为关键。通过巧用中间件记录系统的慢请求,可以不用依赖任何监控型服务,定期分析日志,从而优化系统。
2022-02-17 16:32:35阅读全文
对于 PHP 框架,我们真的需要使用 LTS 版本吗?
最近随着 Laravel 9 的发布,有人发现了一个有趣的事情,那就是 Laravel 9 最初开发时是作为 LTS 版本发布的,来接替 Laravel 6,在正式发布时也是以 LTS 版本发布,而在正式发布后不久,Laravel 的官方文档中却将 Laravel 9 的 LTS 字样进行了移除,使
2022-03-14 15:39:15阅读全文
支持多种通道的 laravel 异常监控通知组件
2022-07-12 04:07:28阅读全文
封装 Laravel 自定义表单请求
Laravel 提供的自动表单验证请求类,通常一个 class 是应用到一个 Action 上的,虽说可以应用到多个 Action 上,但验证参数很少说完全一样,粒度太细了,如果一个 Controller 有 10 个 Action 那就得对应创建10个验证规则类,会导致文件太多,所以可以封装一下
2022-07-18 01:03:27阅读全文
laravel详细介绍:
技术特点
1、Bundle是Laravel的扩展包组织形式或称呼。Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“Artisan”自动安装。
2、应用逻辑(Application Logic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和Sinatra框架类似。Laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。
3、反向路由(Reverse Routing)赋予你通过路由(routes)名称创建链接(URI)的能力。只需使用路由名称(route name),Laravel就会自动帮你创建正确的URI。这样你就可以随时改变你的路由(routes),Laravel会帮你自动更新所有相关的链接。
4、Restful控制器(Restful Controllers)是一项区分GET和POST请求逻辑的可选方式。比如在一个用户登录逻辑中,你声明了一个get_login()的动作(action)来处理获取登录页面的服务;同时也声明了一个post_login()动作(action)来校验表单POST过来的数据,并且在验证之后,做出重新转向(redirect)到登录页面还是转向控制台的决定。
5、自动加载类(Class Auto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,Laravel会自动帮你加载需要的文件。
6、视图组装器(View Composers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情Laravel会帮你自动完成。
7、反向控制容器(IoC container)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(IoC)意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。
8、迁移(Migrations)就像是版本控制(version control)工具,不过,它管理的是数据库范式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移"指令即可,好了,你的数据库已经是最新的了!
9、单元测试(Unit-Testing)是Laravel中很重要的部分。Laravel自身就包含数以百计的测试用例,以保障任何一处的修改不会影响其它部分的功能,这就是为什么在业内Laravel被认为是最稳版本的原因之一。Laravel也提供了方便的功能,让你自己的代码容易的进行单元测试。通过Artisan命令行工具就可以运行所有的测试用例。
10、自动分页(Automatic Pagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页,只要从数据库中获取总的条目数量,然后使用limit/offset获取选定的数据,最后调用‘paginate’方法,让Laravel将各页链接输出到指定的视图(View)中即可,Laravel会替你自动完成所有工作。Laravel的自动分页系统被设计为容易实现、易于修改。虽然Laravel可以自动处理这些工作,但是不要忘了调用相应方法和手动配置分页系统哦!