Laravel是一款专业的web开发工具。web程序开发必备软件Laravel。软件提供Web程序开发功能。如果需要设计应用程序,则可以通过此框架部署相关的功能模块。该软件提供路由,中间件,CSRF保护,控制器,请求,响应,视图,刀片模板,URL生成,会议,验证,错误处理,HTTP客户端,本地化,电子邮件,通知,任务计划等功能,可帮助用户快速配置Web应用程序数据对应的计划和数据处理计划可以提高开发效率。这里的编辑器推荐Laravel 8版本,新版本在许多方面都得到了增强和改进,Laravel的请求速率限制器功能得到了增强,改进了维护模式,改进了事件监听器,如果您需要此软件,则可以下载并使用它!
软件功能:
Laravel是一个具有表达力和优雅语法的Web应用程序框架。我们认为,发展必须是一种令人愉快的创造经验,才能真正实现。 Laravel试图通过减轻大多数Web项目中使用的常见任务来减轻开发工作的痛苦,例如:
简单快速的路由引擎。
强大的依赖注入容器。
用于会话和缓存存储的多个后端。
数据库不可知方案迁移。
强大的后台作业处理能力。
实时事件广播。
如果您是高级开发人员,Laravel将为您提供强大的工具,用于依赖项注入,单元测试,队列,实时事件等。Laravel经过微调,可以构建专业的Web应用程序,并准备处理公司的工作负载。
可扩展框架
Laravel具有难以置信的可扩展性。得益于PHP的缩放友好功能以及Laravel对Redis和其他快速分布式缓存系统的内置支持,使用Laravel进行水平缩放变得轻而易举。实际上,Laravel应用程序已轻松扩展,每月可以处理数亿个请求。
软件特色:
Laravel 8引入了Laravel Jetstream,模型工厂类,迁移挤压,作业批处理
改善了速率限制,改善了队列
Dynamic Blade组件,Tailwind分页视图,时间测试助理工匠服务
改进了事件侦听器,并在Laravel 7.x中继续改进
由于模型工厂现在是简单的PHP类,因此状态转换可以编写为类方法。另外,您可以根据需要将其他任何帮助程序类添加到Eloquent模型工厂中。
例如,您的用户模型可能处于挂起状态,以修改其默认属性值之一。您可以使用基本工厂的状态方法来定义状态转换。您可以根据自己的喜好命名状态方法
官方教程:
中间件
介绍
中间件为检查和过滤进入您的应用程序的HTTP请求提供了一种方便的机制。例如,Laravel包含一个中间件,以验证您的应用程序的用户已通过身份验证。如果用户未通过身份验证,则中间件会将用户重定向到应用程序的登录屏幕。但是,如果用户通过了身份验证,则中间件将允许该请求进一步进入该应用程序。
除了身份验证,您还可以编写其他中间件来执行各种任务。例如,记录中间件可能会将所有传入请求记录到您的应用程序中。 Laravel框架包含几个中间件,包括用于身份验证和CSRF保护的中间件。所有这些中间件都位于app / Http / Middleware目录中。
定义中间件
要创建新的中间件,请使用make:middlewareArtisan命令:
此命令在您的app / Http / Middleware目录中放置一个新类的SecureTokenIsValid。在此中间件中,仅当提供的令牌输入与指定值匹配时,才允许访问路由。否则,我们会将用户重定向回homeURI:
如您所见,如果给定令牌的密码与我们的秘密令牌不匹配,则中间件将向客户端返回HTTP重定向;否则,该请求将进一步传递给应用程序。要将请求更深地传递到应用程序中(允许中间件“传递”),应使用$ next回调$ request。
最好将中间件视为一系列HTTP请求,这些请求必须经过“层”才能到达您的应用程序。每一层都可以检查该请求,甚至可以完全拒绝该请求。
中间件和响应
当然,中间件可以在将请求传递给应用程序之前或之后执行任务。例如,以下中间件将在应用程序处理请求之前执行某些任务:
但是,此中间件将在应用程序处理请求后执行其任务:
拉尔
注册中间件
全球中间件
果希望中间件在对应用程序的每个HTTP请求期间运行,请在该类的$ middleware属性中列出中间件app / Http / Kernel.php类。
将中间件分配给路由
如果要将中间件分配给特定的路由,则应首先在应用程序的app / Http / Kernel.php文件中为中间件分配一个密钥。默认情况下,$ routeMiddleware类的属性包含Laravel随附的中间件的条目。您可以将自己的中间件添加到此列表中,并为其选择一个密钥:
一旦在HTTP内核中定义了中间件,就可以使用中间件方法将中间件分配给路由:
您可以通过将中间件名称数组传递给中间件方法来将多个中间件分配给路由:
分配中间件时,您还可以传递完全限定的类名:
将中间件分配给一组路由时,有时可能有必要防止将中间件应用于该组中的单个路由。您可以使用以下withoutMiddleware方法来完成此任务:
没有中间件的方法只能删除路由中间件,不适用于全局中间件。
中间件组
有,您可能希望将多个中间件分组为一个键,以便更轻松地分配给路由。您可以使用$ middlewareGroupsHTTP内核的属性来完成此操作。
开箱即用,Laravel带有一个Web和api中间件组,其中包含您可能希望应用于Web和API路由的常规中间件。请记住,这些中间件组是由应用程序的App \ Providers \ RouteServiceProvider服务提供者自动应用于相应文件Web和api路由文件中的路由的:
可以使用与每个中间件相同的语法将中间件组分配给路由和控制器操作。同样,中间件组使一次将多个中间件分配给路由更加方便:
HTTP响应
建立回应
字符串和数组
所有路由器和控制器都应返回响应,并将其发送回用户的浏览器。 Laravel提供了几种不同的返回响应的方式。最基本的响应是从路由器或控制器返回一个字符串。框架将自动将字符串转换为完整的HTTP响应:
除了从路由和控制器返回字符串之外,您还可以返回数组。框架将自动将数组转换为JSON响应:
回应对象
通常,您不仅会从路由操作中返回简单的字符串或数组。相反,您将返回完整的Illuminate \ Http \ Response实例或视图。
返回完整的Response实例,您可以自定义HTTP状态代码和响应的标头。响应从实例继承Symfony \ Component \ HttpFoundation \ Response类,并且它提供了多种构造HTTP响应的方法:
雄辩的模型和收藏
您还可以直接从路由和控制器返回ORM模型和口才集合。当您执行此操作时,Laravel将自动将模型和集合转换为JSON响应,同时注意模型的隐藏属性:
将标头附加到响应
请记住,大多数响应方法都是可链接的,因此可以平滑地构建响应实例。例如,您可以使用header方法将一系列标题添加到响应中,然后再将其发送回用户:
另外,您可以使用withHeaders方法来指定要添加到响应中的标头数组:
缓存控制中间件
Laravel包含一个cache.headers中间件,该中间件可用于快速设置一组Cache-Control路由的头。如果在指令列表中指定了etag,则响应内容的MD5哈希值将自动设置为ETag标识符:
向响应添加cookie
您可以使用Illuminate \ Http \ Response使用cookie方法将cookie附加到传出实例。您应将Cookie的名称,值和分钟数视为对此方法有效:
cookie方法还接受更多不常用的参数。通常,这些参数的目的和含义
ers与将提供给PHP的本机setcookie方法的参数相同:
如果要确保发送的cookie是与发送的响应一起发送的,但是没有响应的实例,则可以使用CookieFacade在发送响应时使用队列来“排队” cookie,以将其附加到响应上。队列方法接受创建cookie实例所需的参数。这些cookie在发送到浏览器之前将被附加到传出响应中:
Cookie实例生成
一个实例,将来可以将Symfony \ Component \ HttpFoundation \ Cookie附加到响应实例,则可以使用全局cookie帮助器。除非将其附加到响应实例,否则它不会将其发送回客户端:
尽早终止Cookie
您可以通过发送不带Cookie的响应来删除Cookie,以使其删除:
如果没有外发响应的实例,则可以使用CookieFacade的queue方法来使cookie过期: