Home Backend Development PHP Tutorial What you need to know to get started with thinkphp5

What you need to know to get started with thinkphp5

Jul 02, 2017 am 09:49 AM
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!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What should I do if I get an error when deploying thinkphp5 in Pagoda? What should I do if I get an error when deploying thinkphp5 in Pagoda? Dec 19, 2022 am 11:04 AM

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.

What should I do if thinkphp5 url rewriting fails? What should I do if thinkphp5 url rewriting fails? Dec 12, 2022 am 09:31 AM

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 thinkphp5 title bar icon How to remove thinkphp5 title bar icon Dec 20, 2022 am 09:24 AM

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.

How to get the requested URL in thinkphp5 How to get the requested URL in thinkphp5 Dec 20, 2022 am 09:48 AM

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.

What should I do if thinkphp5 post cannot get the value? What should I do if thinkphp5 post cannot get the value? Dec 06, 2022 am 09:29 AM

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.

What should I do if thinkphp5 prompts that the controller does not exist? What should I do if thinkphp5 prompts that the controller does not exist? Dec 06, 2022 am 10:43 AM

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 How to query yesterday's data in ThinkPHP5 Dec 05, 2022 am 09:20 AM

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 How to set error prompts in thinkphp5 Dec 07, 2022 am 10:31 AM

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.

See all articles