Maison  >  Article  >  cadre php  >  Utilisation d'un serveur de fichiers statique dans ThinkPHP6

Utilisation d'un serveur de fichiers statique dans ThinkPHP6

WBOY
WBOYoriginal
2023-06-20 14:06:081673parcourir

Avec le développement rapide d'Internet, les serveurs de ressources statiques sont devenus un élément important du développement d'applications Web. Le serveur de ressources statiques est principalement responsable du stockage et de la distribution des ressources statiques (telles que les images, js, css et autres fichiers), offrant aux utilisateurs une expérience d'accès plus rapide et plus stable. Dans le développement PHP, ThinkPHP6, en tant que framework MVC populaire, fournit des fonctions intégrées pour nous aider à créer rapidement un serveur de ressources statiques.

Pensez aux ressources statiques dans ThinkPHP

Dans ThinkPHP6, nous pouvons facilement gérer les demandes de ressources statiques grâce à certaines fonctions et classes intégrées. ThinkPHP peut gérer les demandes de ressources statiques sous /public/ par défaut, de sorte que les demandes de répertoires tels que /static/, /images/, /css/ et /js peuvent être traitées directement. Dans le fichier /public/index.php, les fichiers principaux de ThinkPHP sont introduits et la logique de traitement des ressources statiques est définie :

if (is_file(__DIR__ . '/../public' . $_SERVER['REQUEST_URI'])) {
    return false;
}

Si l'URL demandée est un fichier et que le fichier se trouve dans le répertoire /public/, alors ce ne sera pas le cas. Après l'analyse du routage et le traitement du contrôleur, ce fichier est renvoyé directement. En effet, les ressources du répertoire /public/ sont accessibles directement sans utiliser de règles de routage pour les résoudre. Bien entendu, si vous avez besoin de personnaliser le chemin du répertoire /public/, vous pouvez modifier la variable public_root dans le fichier config/app.php. Par exemple :

'public_root' => __DIR__ . '/../assets/',

Cela spécifiera le répertoire des actifs dans le répertoire racine de l'application comme répertoire racine du répertoire /public/, au lieu d'utiliser le répertoire /public/ par défaut.

Comment utiliser CDN pour accéder aux fichiers statiques

Dans les environnements de déploiement réels, afin de mieux optimiser le trafic et la vitesse d'accès, nous téléchargeons généralement des fichiers statiques vers un fournisseur CDN (Content Delivery Network) pour le stockage et la distribution. En termes simples, CDN est un réseau qui utilise plusieurs nœuds pour mettre en cache et distribuer des ressources statiques. Lorsque les utilisateurs accèdent à des ressources, ils peuvent obtenir des ressources du serveur de nœuds le plus proche d'eux, offrant ainsi une expérience utilisateur plus rapide et plus stable. Dans ThinkPHP6, pour utiliser CDN pour accéder aux fichiers statiques, vous devez effectuer les configurations pertinentes dans le fichier de configuration.

Vous devez d'abord modifier le nom d'hôte du CDN, par exemple, changer le chemin de la ressource d'origine /public/static en :

http://cdn.example.com/static/

Ensuite, dans le fichier config/app.php, recherchez les deux variables app.url_html_suffix et app.static_domain et change Leurs valeurs sont modifiées en :

'url_html_suffix' => '.html',
'static_domain' => 'http://cdn.example.com',

De cette façon, le nom d'hôte CDN et le nom de domaine statique sont configurés et .html est utilisé comme suffixe pseudo-statique lorsque la demande de ressource statique arrive. , le framework correspondra en fonction du préfixe URL du paramètre static_domain, renverra directement le fichier correspondant sur le CDN.

Si vous avez besoin d'un accès CDN aux fichiers du répertoire Assets, vous pouvez utiliser le lien suivant lors de l'accès :

http://cdn.example.com/assets/images/logo.jpg

Dans ce cas, les fichiers statiques seront accessibles via le nom CDN cdn.example.com. Chez certains fournisseurs CDN, vous pouvez également spécifier la méthode d'accès en ajustant l'en-tête de réponse HTTP, par exemple :

Cache-Control: max-age=31536000,public

Cet en-tête de réponse indique au navigateur que ce fichier peut être mis en cache et le rend valide pendant une heure.

Résumé

Le serveur de ressources statiques est un élément essentiel du développement d'applications Web, surtout lorsque le nombre de visites est relativement important, il est très nécessaire d'utiliser CDN pour y accéder. Dans ThinkPHP6, nous pouvons facilement configurer le nom d'hôte et le nom de domaine statique du CDN, et utiliser quelques fonctions et classes simples pour gérer les demandes de ressources statiques, améliorant ainsi la vitesse et l'expérience d'accès des utilisateurs.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn