Maison  >  Article  >  cadre php  >  Apprenez 10 conseils pour optimiser le framework PHP Laravel 5 en une minute

Apprenez 10 conseils pour optimiser le framework PHP Laravel 5 en une minute

慕斯
慕斯avant
2021-06-18 09:23:391923parcourir

Cet article vous présente l'apprentissage de 10 techniques en une minute pour optimiser le framework Laravel 5 des programmes PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Apprenez 10 conseils pour optimiser le framework PHP Laravel 5 en une minuteLes performances ont toujours été une critique du framework Laravel, donc le réglage des programmes Laravel est une compétence incontournable.
Ceci est une liste simple :

Informations de configuration cache artisan config : cache

               路由缓存 artisan route:cache
               类映射加载优化 artisan optimize
               自动加载优化 composer dumpautoload
               使用 Memcached 来存储会话 config/session.PHP
               使用专业缓存驱动器 config/cache.php
               数据库请求优化
               数据集书写缓存逻辑
               使用即时编译器(JIT),如:HHVM、OpCache
               前端资源合并 Elixir
1. 配置信息缓存
Utilisez la commande intégrée Artisan suivante pour fusionner toutes les informations de configuration du dossier de configuration en un seul fichier afin de réduire le nombre de fichiers chargés au moment de l'exécution :
php artisan config : cache
La commande ci-dessus générera le fichier bootstrap/cache/config.php Vous pouvez utiliser la commande suivante pour annuler le cache des informations de configuration :
php artisan config. :clear
Cette commande supprime le fichier bootstrap/cache/config.php.
Remarque : Le cache des informations de configuration ne sera pas automatiquement rechargé avec les mises à jour. Par conséquent, il est recommandé de désactiver le cache des informations de configuration pendant le développement. Il est généralement utilisé dans les environnements de production et peut être utilisé avec. l'exécuteur de tâches Envoy.
2. Cache de route
Le cache de route peut améliorer efficacement l'efficacité de l'enregistrement du routeur, et l'effet est plus évident dans les grandes applications. Utilisez la commande suivante :

php artisan route:cache

La commande ci-dessus générera le bootstrap/cache/routes .php, il convient de noter que le cache de route ne prend pas en charge la logique d'écriture de la fonction anonyme de routage.
Vous pouvez utiliser la commande suivante pour vider le cache de routage :

php artisan route:clear

此命令做的事情就是把 bootstrap/cache/routes.php 文件删除。
注意:路由缓存不会随着更新而自动重载,所以,开发时候建议关闭路由缓存,一般在生产环境中使用,可以配合 Envoy 任务运行器 一起使用。
3. 类映射加载优化
optimize 命令把常用加载的类合并到一个文件里,通过减少文件的加载,来提高运行效率:

php artisan optimize --force

会生成 bootstrap/cache/compiled.php 和 bootstrap/cache/services.json 两个文件。
你可以可以通过修改 config/compile.php 文件来添加要合并的类。
在 production 环境中,参数 --force 不需要指定,文件就会自动生成。
要清除类映射加载优化,请运行以下命令:

php artisan clear-compiled

此命令会删除上面 optimize 生成的两个文件。
注意:此命令要运行在 php artisan config:cache 后,因为 optimize 命令是根据配置信息(如:config/app.php 文件的 providers 数组)来生成文件的。
4. 自动加载优化
此命令不止针对于 Laravel 程序,适用于所有使用 composer 来构建的程序。此命令会把 PSR-0 和 PSR-4 转换为一个类映射表,来提高类的加载速度。

composer dumpautoload -o

注意:php artisan optimize --force 命令里已经做了这个操作。
5. 使用 Memcached 来存储会话
每一个 Laravel 的请求,都会产生会话,修改会话的存储方式能有效提高程序效率,会话的配置信息是 config/session.php,建议修改为 Memcached 或者 Redis 等专业的缓存软件:

'driver' => 'memcached',

6. 使用专业缓存驱动器
「缓存」是提高应用程序运行效率的法宝之一,默认缓存驱动是 file 文件缓存,建议切换到专业的缓存系统,如 redis 或者 Memcached,不建议使用数据库缓存。

'default' => 'redis',

7. 数据库请求优化
数据关联模型读取时使用 延迟预加载 和 预加载 ;
使用 Laravel Debugbar 或者 Clockwork 留意每一个页面的总数据库请求数量;
这里的篇幅只写到与 Laravel 相关的,其他关于数据优化的内容,请自行查阅其他资料。
8. 为数据集书写缓存逻辑
合理的使用 Laravel 提供的缓存层操作,把从数据库里面拿出来的数据集合进行缓存,减少数据库的压力,运行在内存上的专业缓存软件对数据的读取也远远快于数据库。

$posts = Cache::remember('index.posts', $minutes = 30, function()
{
    return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();
});
remember 甚至连数据关联模型也都一并缓存了,多么方便呀。

9. 使用即时编译器
HHVM 和 OpCache 都能轻轻松松的让你的应用程序在不用做任何修改的情况下,直接提高 50% 或者更高的性能,PHPhub 之前做个一个实验,具体请见:使用 OpCache 提升 PHP 5.5+ 程序性能。
10. 前端资源合并
作为优化的标准,一个页面只应该加载一个 CSS 和 一个 js 文件,并且文件要能方便走 CDN,需要文件名随着修改而变化

相关推荐:最新的五个Laravel视频教程


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer