view - Des doutes sur la simple implémentation de MVC en PHP
怪我咯
怪我咯 2017-05-16 17:06:08
0
3
532

Pourquoi la couche contrôleur du framework PHP charge-t-elle un fichier avec un suffixe .tpl que j'ai écrit dans le fichier
<?php

 ?
echo $name; //居然能输出正确的值

//Question, pourquoi les fichiers avec le suffixe .tpl peuvent-ils également exécuter des scripts PHP ? N'est-il pas possible d'analyser PHP uniquement en utilisant des fichiers .PH ?

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(3)
某草草
  1. L'interpréteur PHP ne se soucie que du contenu du fichier, peu importe l'extension

  2. Exiger/inclure d'autres fichiers dans le code en un seul cycle de compilation et d'exécution, au lieu d'ouvrir un nouvel interpréteur à chaque fois que vous ouvrez un nouveau fichier

  3. Afin de le distinguer facilement des autres fichiers, une certaine extension sera configurée sur le serveur Web pour être envoyée à PHP. Il s'agit uniquement d'une restriction sur le fichier d'entrée après l'exécution, ce qui est requis/inclus plus tard n'a rien à voir. avec cette configuration. Si cela n'est pas fait, quel que soit le type de fichier, il sera envoyé à PHP pour examen. Ceci est irréaliste en raison de considérations de performances et de sécurité (en d'autres termes, vous devez traiter PHP et le serveur Web indépendamment)

    .

Par exemple
Pour nginx, c'est

    location ~ .*\.(php|php5)?$
    {
        fastcgi_pass   unix:/var/run/php.socket;
        fastcgi_index  index.php;
        include        fastcgi.conf;
    }

Pour Apache, c'est

 <FilesMatch \.php$>
    SetHandler application/x-httpd-php
 </FilesMatch>

En fait, vous pouvez le changer en n'importe quelle extension de votre choix, ou même le faire correspondre complètement (bien sûr, ce n'est pas recommandé de le faire)

淡淡烟草味

Le framework lui-même charge le fichier .tpl et l'analyse en code php. C'est comme si vous chargiez un fichier XML avec php, puis analysiez le XML et le produisiez. Ce que j'ai dit n'est pas tout à fait exact, mais c'est à peu près le même sens.

大家讲道理

Ceci est un fichier modèle

Vous pouvez consulter l'introduction du modèle smarty

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal