php - Implémentation du routage
仅有的幸福
仅有的幸福 2017-06-26 10:49:00
0
3
963

Lorsque j'utilise un logiciel de site Web, j'ai constaté que le fichier index.php dans le répertoire racine de certains logiciels peut générer plusieurs pages Web différentes, telles que :

localhost/index.php/blog; localhost/index.php/contact.

Comment cette méthode de routage est-elle mise en œuvre ? Merci!

仅有的幸福
仅有的幸福

répondre à tous(3)
黄舟

Pour localhost/index.php,访问的文件地址是 localhost/index.php 没错,然后 /blog, cela peut être compris comme un paramètre,

Comment l'obtenir ? Vérifiez les informations de $_SERVER.

Par exemple, le paramètre '/blog' correspond à la méthode d'index du contrôleur Blog, puis la logique correspondante peut être implémentée en appelant (new Blog())->index().

En continuant, le paramètre '/blog/add' correspond à la méthode add du contrôleur Blog, puis la logique correspondante peut être implémentée en appelant (new Blog())->index().

淡淡烟草味

Pour le serveur, www.xxx.com/index.php/test ne peut reconnaître que www.xxx.com/index.php Ceci est configuré dans Nginx ou Apche, comme la configuration suivante :

.
location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }

Quant au test d'information ultérieur, il est reconnu par le code PHP lui-même. Il s'agit en fait d'un paramètre (Quant à la façon dont le code PHP reçoit ce paramètre, il faut voir comment Nginx ou Apache interagit avec PHP.) Quand ceci Après. en obtenant le paramètre "test", vous pouvez faire ce que vous voulez en fonction de ce paramètre. Avec différents paramètres, vous pouvez faire différentes choses et fournir une variété de fonctions. C'est aussi ma compréhension du routage.

滿天的星座

Le format de paramètre suivant s'appelle PATH_INFO, Apache vous le demande par défaut, nginx doit le faire correspondre lui-même.

C'est la même chose que index.php?url=/path/to/xxx. Il utilise simplement un paramètre pour représenter l'itinéraire du projet.

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