What you need to know to get started with thinkphp5
1: Module design
Single module is used by default, single module is supported, and all modules use app as the root namespace
You can create a common module, but it cannot be accessed directly. You can use it in other modules access, improve security
common class can be inherited arbitrarily
2: tp5 configuration
1 Conventional configuration
Define configuration directory
In the entry file
define('CONF_PATH',__DIR__.'/../conf/');
2 Application configuration
In the previous section directory Create a new config.PHP in
return array();
The array contains configuration items
3 Extended configuration
Split different configuration files into For configuration files that cannot be used for easier management, create an extended configuration folder extra
in the config directory and then create a new configuration file directly
For example, qiniu.php
The configuration format is the same as above
tp5 allows database configuration to be placed directly under the config folder (at the same level as config.php)
4 Scenario configuration
Different configurations used in the same scenario
Configure app_status in config.php, and then create the configuration of the corresponding environment in extra
5 Module configuration
Create a folder with the same name as the module in the config folder , and then create a new config.php file
The module configuration directory is consistent with the config directory. You can create an extra extension configuration. The extension configuration only works under the corresponding module
6 Dynamic configuration
a. The configuration items using the helper function config in the __construct constructor in the controller can take effect in the controller
b. The newly created configuration items using the helper function in the method can only be used in the modified method. Effective
7 Use of config class
Dynamicly change the config configuration, you can use the helper function config() and the config class
config('key','value', 'Scope')
Judge whether key exists
config('?key');
8 Environment variable configuration and use
Three: Routing
1 Entry file
public/index.php Single entrance
2 Hidden entry file
is both hidden index.php
a Enable apache's rewrite module, allowed all
b .htaccess configuration exists in the public directory, no need to configure it yourself
2 Entry file binding
Binding module name, Shorten uri
For example, to bind the background module
Define in admin.php difine('BIND_MODULE','admin'); Bind the background module
difine(' BIND_MODULE','admin/Index'); Bind the background Index controller
Set 'auto_bind_module'=>true in the configuration file, then you don't need to define difine('BIND_MODULE','admin') ;
3 Routing
Enable routing first (already enabled by default) and configure 'url_route_on'=>true,
'url_route_must'=>false ( If it is true, routing must be configured to access)
Create a new routing file route.php in the configuration file
Write routing rules directly
For example, return array(
'news/:id'=>'index/Index/news',
);
Four: Request
1 request Request
a Helper function request()
b Thinkphp’s request class
c Object injection, inject the object into the method
2 Request object request
a Get the link in the browser
Get the domain name$request->domain()
Get the pathinfo $request->pathinfo()
Get the path $request- >path()
b Request type
Type of current request $request->method();
Determine whether it is a get request $request->isGet ()
Determine whether it is an ajax request $request->isAjax()
---Determine whether it is a mobile phone $request->isMobile();
c Request parameters
Get the parameters after? $request->get()
Get all parameters (including those in path) $request->param()
Get post request $request->post()
Get session $request->session()
Get cookie $request->cookie()
d Get Module, controller, operation
$request->module();
$request->controller();
$request->action();
3 input Assistant function
is equivalent to the I function in tp3.2
input('post.name')
input('get.name')
input('cookie.name)
input('session.name)
...
You can get various parameters in the request
4 Response object
config('default_return_type','json'); Perform return operation by dynamically modifying the return parameter type
More suitable for api encapsulation
type type Support json, xml, html (default)
For example:
config('default_return_type','json');
$res = ['code'=>200,
'data' = & gt; [1,2,3,4,5,6,7,8,9]
];
Return $ res; Data
Five views
Direct display
return view();The default is app/group name/view/controller name/method name.html
Pass the first parameter
return view('name') default Pass the first parameter for app/group name/view/controller name/name.html
return view('name1/name2') The default is app/group name/view/ name1/name2.html
return view('./index.html') defaults to the index,.html file in the same directory as the index.php entry file
Transfer value to the template
The second parameter is in array form
return view('name',['key'=>'value'])
The above is the detailed content of What you need to know to get started with thinkphp5. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Solution to the error reported when deploying thinkphp5 in Pagoda: 1. Open the Pagoda server, install the php pathinfo extension and enable it; 2. Configure the ".access" file with the content "RewriteRule ^(.*)$ index.php?s=/$1 [QSA ,PT,L]”; 3. In website management, just enable thinkphp’s pseudo-static.

Solution to thinkphp5 url rewriting not working: 1. Check whether the mod_rewrite.so module is loaded in the httpd.conf configuration file; 2. Change None in AllowOverride None to All; 3. Modify the Apache configuration file .htaccess to "RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]" and save it.

How to remove the thinkphp5 title bar icon: 1. Find the favicon.ico file under the thinkphp5 framework public; 2. Delete the file or choose another picture to rename it to favicon.ico and replace the original favicon.ico file.

Methods for thinkphp5 to obtain the requested URL: 1. Use the "$request = Request::instance();" method of the "\think\Request" class to obtain the current URL information; 2. Use the built-in helper function "$request-> url()" to obtain the complete URL address including the domain name.

thinkphp5 post cannot get a value because TP5 uses the strpos function to find the app/json string in the content-type value of the Header. The solution is to set the content-type value of the Header to app/json.

Solution to thinkphp5 prompting that the controller does not exist: 1. Check whether the namespace in the corresponding controller is written correctly and change it to the correct namespace; 2. Open the corresponding tp file and modify the class name.

How to query yesterday's data in ThinkPHP5: 1. Open ThinkPHP5 related files; 2. Query yesterday's data through the expression "db('table')->whereTime('c_time', 'yesterday')->select();" Can.

How to set error prompts in thinkphp5: 1. Enter the public folder in the project root directory and open the index.php entry file; 2. View the comments on the debug mode switch; 3. Adjust the value of the "APP_DEBUG" constant to true to display Error message prompt.
