首页 » 网站建设公司 » laravel路由seo_提升Laravel应用机能有哪些

laravel路由seo_提升Laravel应用机能有哪些

duote123 2024-10-28 0

扫一扫用手机浏览

文章目录 [+]

laravel 的配置项分布在数十个配置文件中,在每次的要求中都将每个文件 including 进来很花费性能。
为了将所有的配置文件都合并为一个,可以利用:

php artisan config:cache

laravel路由seo_提升Laravel应用机能有哪些 laravel路由seo_提升Laravel应用机能有哪些 网站建设公司

记住修正了配置文件后不会影响已有的配置文件缓存。
为了刷新缓存,可以再次上述的命令。
如果你想完备打消缓存,实行:

laravel路由seo_提升Laravel应用机能有哪些 laravel路由seo_提升Laravel应用机能有哪些 网站建设公司
(图片来自网络侵删)

php artisan config:clear

路由缓存

在laravel中,路由也须要昂贵的开销。
用以下命令缓存 routes.php 文件:

php artisan route:cache

请把稳,它不适用于闭包。
如果你正在利用闭包,这是一个很好的机会将它们移动到掌握器中,由于 artisan 命令在考试测验编译绑定到闭包的路径而不是精确的掌握器方法时会抛出非常。

与配置缓存相同,对 routes.php 的任何变动都不会有任何影响。
要刷新缓存,请在每次变动路径文件时运行上面的命令。
要完备清理干净路由缓存,请运行以下命令:

php artisan route:clear

类映射加载优化

在一个中型项目中,存在数百个 PHP 源文件是很正常的事情,由于良好的编程习气,我们会把代码做一些分离,每一个 php 文件都有自己的职责。
当然,这并非没有缺点,Laravel 必须为每一次要求都加载这数百个文件,这是一件很花费性能的事情。

因此,一个比较好的办法是声明哪些文件是用户每一次要求(如:做事供应者,中间件等)都须要载入的 ,然后将这些须要每次加载的文件写入同一个文件中,减少 include 文件的数量。

这类似于 javascript 将文件合并为一个没有差异 (webpack, gulp),会减少游览器会做事器的要求。

如果须要添加其他的源文件,可以在 config / compile.php 的files key中声明。

当你把须要为每个要求都加载的文件设置好之后,它们就会写入同一个文件中,减少加载文件的性能花费

php artisan optimize --force

优化 composer 的自动加载

这不仅适用于 laravel,而且适用于任何利用 composer 的运用程序。

我将首先阐明 PSR-4 自动加载器的事情事理,然后向您展示该当运行什么命令来优化它。
如果您对理解 composer 如何事情不感兴趣,我建议您直接跳到关于掌握台命令的段落处。

当您向 compsoser 要求 App\Controllers\AuthController 类时,它首先在类映命中搜索直接关联。
classmap 是一个由类和文件组成的 1 到 1 关联的数组。
当然,由于您没有手动将 Login 类及其干系文件添加到类映命中,composer 将连续在命名空间中搜索。

由于 App 是一个 PSR-4 命名空间,默认情形下是与 Laravel 一起供应的,并且与 app/ 文件夹干系联,以是 composer 将考试测验利用基本的字符串操作过程将 PSR-4 类名转换为文件名。
末了,它预测 App\Controllers\AuthController 必须位于 AuthController.php 文件中,它位于 Controllers/ 文件夹中,适值的是,该文件夹恰好位于名称空间文件夹中,即 app/。

所有这些艰巨的事情只是为了得到 App\Controllers\AuthController 类存在于 app/Controllers/AuthController.php 文件中。
为了让 composer 扫描全体运用程序并创建类和文件的直接 1 对 1 关联,运行以下命令:

composer dumpautoload -o

请记住,如果您已经运行了 php artisan optimize --force,那么您就不必再运行这个函数了。
由于优化命令已经见告 composer 创建一个优化的自动加载器。

JIT 编译器(即时编译器)

PHP 并不是天然就被打算机理解的。
你不能把它编译为字节码然后让打算机运行。
PHP 必须要经由一个中介,像是 Zend 引擎,它会阐明 PHP 文件并实行相应的 C 例程。
如你所想,它的速率很慢。
每次你的做事器实行一个 PHP 文件,都必须把它转换成 tokens —— 这个过程由 AST 解析器完成并阐明。
不幸的是,解析器必须每次都编译 PHP 文件,纵然它每次都得到相同的结果。

为了让你的运用速率更快,你须要一个 编译一次,终生运行 的方法,而这便是一个 JIT 编译器所做的事情。

对付 Laravel 所推举利用的 JIT 编译器是 HHVM,由 Facebook 创立并广泛利用。
Wikipedia、Etsy 和其他上千项目也在利用它。

利用更快的缓存和会话驱动

将 session 保存在文件中是种足够快速而又优雅的方法,自 PHP 开始的时期就在这样做了。
但是如果你追求性能,那么文件系统便是你须要把稳的一件事,由于它很慢。
一种更好的做法是将 cache 和 session 存储在内存中,由于它供应了一种高效读写数据的办法。
幸运的是,laravel 支持一些基于内存的 cache 和 session 驱动。

我的建议是利用 memcached 作为 cache 和 session 的驱动,但你可以选择任何你喜好的,只要它是基于内存事情的。

要变动 session 驱动,须要检讨以下文件中「driver」项:

app/config/session.php

要变动 cache 驱动,须要检讨以下文件中「driver」项:

app/config/cache.php

不要低估通过优化查询语句带来的查询速率的提升

就像你看到的,大部分优化都是在不同的层面利用缓存。
但当面临数据库优化时,你不应该依赖缓存。
缓存应是优化查询的最夹帐段。

缓存查询结果

MySQL 不会替你做这件事,也不如你自己做的好。
当然了你肯定不会把运用中每个查询的结果都做缓存,看看数据统计,在运用程序中那些高频率的查询语句,它们真的有必要被频繁地实行?每 15 分钟运行一次然后把相同的结果供应给用户

不是更好吗?

在查询布局器中移除了 removing方法是件好事(它曾经是个很好的功能,但不足好 - 人们彷佛高估了它的浸染)。
然后你可以更多地利用 Cache::remember 方法,就像这样:

$posts = Cache::remember('index.posts', 30, function()

{

return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();

});

标签:

相关文章

IT主管的多元发展之路如何成为行业领军者

IT行业正迎来前所未有的变革。IT主管们要想成为行业领军者,必须不断探索多元发展之路。本文将从多个维度探讨IT主管如何成为行业领军...

网站建设公司 2025-01-15 阅读0 评论0

IT产品全这些你都知道吗

IT产品已经渗透到我们生活的方方面面。从智能手机到智能家居,从云计算到人工智能,IT产品正以惊人的速度改变着我们的生活方式。本文将...

网站建设公司 2025-01-15 阅读0 评论0

IT产品售后率惊人,背后的真相竟然是...

IT产品在我们的生活中扮演着越来越重要的角色。IT产品的售后率却屡创新高,引起了广泛关注。这背后的真相究竟是什么?是产品质量问题,...

网站建设公司 2025-01-15 阅读0 评论0

IT人专属节日,那些你不知道的狂欢时刻!

在科技飞速发展的今天,IT行业成为了社会进步的重要驱动力。程序员作为IT行业的核心力量,承担着推动技术革新的重任。为了庆祝这个特殊...

网站建设公司 2025-01-15 阅读0 评论0