Home  >  Article  >  PHP Framework  >  Routing configuration in Yii framework: URL beautification

Routing configuration in Yii framework: URL beautification

WBOY
WBOYOriginal
2023-06-21 15:59:001233browse

With the rapid development of the Internet, people's experience in using websites is getting better and better. Among them, the form of URL has gradually become an important factor for users to judge the quality of the website. For URL beautification, the Yii framework provides a variety of routing configuration solutions. This article will focus on routing configuration in the Yii framework and how to implement URL beautification.

1. Basics of routing configuration

Routing refers to mapping the requested URL address to specific controllers and methods to achieve specific processing of the request. In the Yii framework, routing configuration is completed through the URL manager (UrlManager). The URL manager is in the application's configuration file config folder, as follows:

'components' => [
    'urlManager' => [
        'class' => 'yiiwebUrlManager',
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            // ...
        ],
    ],
],

Among them, enablePrettyUrl indicates whether to enable beautified URLs, and it is recommended to set it to true; showScriptName indicates whether to display the script file name (such as index.php) in the URL. It is also recommended to set it to false to avoid affecting the beauty of the URL.

2. Static routing

Static routing means that a specific URL address can be directly mapped to a controller and method. For example, we can statically convert a URL address such as index.php?r=site/about to about, and directly enter http://yourdomain.com/ when accessing Just about.

In the Yii framework, the method to implement static routing is as follows:

'rules' => [
    'about' => 'site/about',
],

Here about represents the mapped URL address, site/about is Represents specific controllers and methods.

3. Dynamic routing

Dynamic routing refers to mapping URL addresses with parameters to controllers and methods, and passing data through parameters. For example, we can dynamically convert a URL address such as index.php?r=site/view&id=1 to view/1, and directly enter http:// when accessing. yourdomain.com/view/1 is enough.

In the Yii framework, the method to implement dynamic routing is as follows:

'rules' => [
    'view/<id:d+>' => 'site/view',
],

The view/1ae845aa4984539391bc1a58ac88f77f here represents the mapped URL address, whereid is the parameter name, d is a regular expression matching numbers, site/view represents the specific controller and method.

4. Advanced routing

Advanced routing is an extension of static and dynamic routing, which can achieve more complex URL mapping. For example, we can convert a URL address such as index.php?r=user/profile to profile/username, and directly enter http://yourdomain.com when accessing /profile/admin is enough.

In the Yii framework, the method to implement advanced routing is as follows:

'rules' => [
    [
        'class' => 'yiiwebUrlRule',
        'pattern' => 'profile/<username:w+>',
        'route' => 'user/profile',
        'suffix' => '',
    ],
],

The 'class' => 'yiiwebUrlRule' means that we are using advanced routing. 'pattern' => 'profile/6e0dc223abbbf8f488db15a7a4fa2ebb' represents the matching rule of the URL address, where 6e0dc223abbbf8f488db15a7a4fa2ebb represents the parameter name and regular expression , 'route' => 'user/profile' represents the specific controller and method, 'suffix' => '' represents the additional characters at the end of the URL address.

Summary

Through the above introduction, we can understand the basic methods of routing configuration in the Yii framework and the differences therein. However, when configuring routing, you need to pay attention to the beauty and legibility of the URL address, and also make good arrangements for the underlying controllers and methods. Only by achieving a balance between the two aspects can the URL address of the website be better mapped to specific controllers and methods in different scenarios, thereby improving the website experience.

The above is the detailed content of Routing configuration in Yii framework: URL beautification. 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