Home>Article>Backend Development> PHP routing principle

PHP routing principle

(*-*)浩
(*-*)浩 Original
2019-09-03 14:20:53 3938browse

PHP routing principle

What is the routing mechanism of PHP(Recommended learning:PHP video tutorial)

1.The routing mechanism is to extract the corresponding parameters of the system from a specific form of URL structure.

For example:

http://main.wopop.com/article/1 其中:/article/1 -> ?_m=article&id=1。

2,Then convert the URL with corresponding parameters into a specific form of URL structure, which is the reverse process of the above process.

PHP’s URL routing method

Generally speaking, it is: getting path information->processing path information

URL routing method:

The first method is mapping through url parameters, usually two parameters, representing the controller class and method such as index.php?c=index&m=index mapped to It is the index method of the index controller.

The second method is through url-rewrite. The advantage of this is that it can map other suffixes that do not end in php. Of course, the first method can also be achieved through rewrite, but it is purely using rewrite. It is also relatively common. Generally, you need to configure the rewrite rules of apache or nginx.

 
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

The third method is through pathinfo. The so-called pathinfo is a URL shaped like this. xxx.com/index.php/c/index/aa/cc, when apache processes this URL, it will input the part after index.php into the environment variable $_SERVER['PATH_INFO'], which is equal to /c/index/ aa/cc.

Then our router can analyze this string by parsing it. Where the following parts are put into the parameters will vary according to each framework.

The above is the detailed content of PHP routing principle. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn