Any WEB behavior can be considered as an operation of a module, and the system will analyze the module and operation to be performed based on the current URL. This analysis work is implemented by the URL scheduler, and the official built-in Dispatcher class completes the scheduling. In the Dispatcher scheduler, the project (appName), module (moduleName) and operation (actionName) that currently need to be executed will be obtained according to
http://servername/appName/moduleName/actionName/params
. In some cases, appName is not required (usually the homepage of the website, because the project name can be specified in the entry file, in which case appName will be replaced by the entry file). In more complex situations, grouping (groupName) may also appear.
Each module is an Action file, similar to what we usually call a controller. The system will automatically look for related classes under the Action directory of the project class library. If not found, it will locate the empty module, otherwise an exception will be thrown.
The actionName operation is to first determine whether there is a public method of the Action class. If it does not exist, it will continue to look for the method in the parent class. If it still does not exist, it will look for whether there is an automatically matching template file. If a template file exists, the template output will be rendered directly.
Therefore, an important process in application development is to define specific operations for different modules. If an application does not need to interact with the database, it does not need to define a model class, but it must define an Action controller. The definition of the Action controller is very simple, just inherit the Action basic class, for example: microfiber cloth
Copy the code The code is as follows:
class UserAction extends Action{
}
Copy the code The code is as follows:
class UserAction extends Action{
// Define an add operation method. Note that the operation method does not require any parameters
Public function add(){
// Logic implementation of the add operation method
// …… bath rug
$this-> ;display(); // Output template page
}
}
The above introduces the module and operation analysis of thinkpade400578mdc ThinkPHP, including the content of thinkpade400578mdc. I hope it will be helpful to friends who are interested in PHP tutorials.