Home >Backend Development >PHP Tutorial >Analysis of ThinkPHP project group configuration method
The example in this article describes the ThinkPHP project group configuration method. Share it with everyone for your reference, as follows:
Overview of project grouping
Project grouping is an important mechanism of ThinkPHP. The project grouping function can merge multiple previous projects into one project. Public files can be reused, but each Each group can have its own independent configuration files, public files, language packs, etc.
Take an ordinary website as an example. If project grouping is not used, the frontend of the website (the part provided for users to browse) is usually treated as a project. The backend management part of the website may have independent configuration files, CSS files, templates, etc., so it is managed as another project. But in fact, both projects are the content of the website, and they can share some content such as database configuration files and even some model classes and cross-project operations.
Project grouping can effectively solve the commonality and individuality issues between projects under the same system.
Project grouping configuration
Perform simple project grouping configuration in the system configuration file (Config/config.php) to enable project grouping.
There are five configurations related to the project grouping mode:
Configuration options | Description | Examples or suggestions |
---|---|---|
APP_GROUP_LIST | A list of all names of the project group. If not set, it means that the project is not enabled. Grouping mode | 'APP_GROUP_LIST'=>'Home,Admin,User,Blog', |
DEFAULT_GROUP | Default project group name, the system default is Home | 'DEFAULT_GROUP' =>'Home', |
APP_GROUP_DEPR | The separator between project groups, the default is . (dot), used for separation in A function, D function and routing configuration | It is recommended to default |
TMPL_FILE_DEPR | Modules and operations in template files The separator between them, the default is /, is only valid for project group deployment | It is recommended to default, you can use the U method to automatically generate the URL |
VAR_GROUP | Get the variable of the project group name, the default is g | index.php ?g=Admin&m=Index&a=edit, it is recommended to default to |
Tpl/default/Admin /Index/add.html
is changed to:
Tpl/default/Admin/Index_add.html
Through this configuration, the template directory structure is reduced by one directory.
Tip: TMPL_FILE_DEPR is also the delimiter between the grouped language definitions and the language file in the language file.
Among the above configuration options, to enable grouping, APP_GROUP_LIST must be set, and other options must be configured according to the actual situation.
Project Group Personalized Configuration
If you want to add a unique personalized configuration to the grouped projects, you can create a directory with the same name as the project group under the configuration directory Conf (the directory naming format is: the first letter of the group name is capitalized + the rest lowercase letters), and define a config.php configuration file in the directory. For example, the personalized configuration file of the Admin project:
Conf/Admin/config.php
When there is a config.php file defined in the directory with the group name, every time the group is accessed, the system will automatically load the independent configuration of the group and Overrides the setting of the same option in the public configuration.
Readers who are interested in more thinkPHP-related content can check out the special topics of this site: "ThinkPHP Getting Started Tutorial", "ThinkPHP Common Methods Summary", "Smarty Template Basic Tutorial" and "PHP Template Technology Summary".
I hope this article will help you design PHP programs based on the ThinkPHP framework.
The above has introduced the analysis of the ThinkPHP project group configuration method, including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.