1. Konstruktor:
Die Controller-Klasse muss die zu verwendende thinkController-Klasse erben:
Method_initialize
Code:
<?php namespace appliancontroller;use thinkController;use thinkDb;use thinkRequest;class Index extends Controller { public function _initialize() { echo 'init|||'; } public function hello() { return 'hello'; } }
Ansehen die Ausgabe:
2. Präfixmethode:
['außer' => 'Methodenname, Methodenname']:
stellt dar, dass diese Methoden nicht verwendet werden Präfixmethoden,
['only' => 'Methodenname, Methodenname']:
gibt an, dass nur diese Methoden Präfixmethoden verwenden.
****************************************Trennlinie****** *** ***************************
Das beforeActionList-Attribut kann eine Methode als Voroperation für andere angeben Methoden;
Das heißt, vor der Ausführung ausgeführt;
Code:
<?php namespace appliancontroller;use thinkController;use thinkDb;use thinkRequest;class Index extends Controller {protected $beforeActionList = [ 'first', 'second' => ['except'=>'hello'], 'three' => ['only'=>'hello'], ]; protected function first() { echo 'first<br/>'; } protected function second() { echo 'second<br/>'; } protected function three() { echo 'three<br/>'; } public function hello() { return 'hello'; } }
Sehen Sie sich die Ausgabe an:
Es sollte nur „Hallo“ ausgegeben werden. Aufgrund der Voroperation werden jedoch drei Methoden ausgegeben:
3 URL-Informationen
4. Manipulieren Sie Variablen<?php namespace appliancontroller; use thinkController; use thinkDb; use thinkRequest; class Index extends Controller { public function index(){ $request = Request::instance(); // 获取当前域名 echo 'domain: ' . $request->domain() . '<br/>'; // 获取当前入口文件 echo 'file: ' . $request->baseFile() . '<br/>'; // 获取当前URL地址 不含域名 echo 'url: ' . $request->url() . '<br/>'; // 获取包含域名的完整URL地址 echo 'url with domain: ' . $request->url(true) . '<br/>'; // 获取当前URL地址 不含QUERY_STRING echo 'url without query: ' . $request->baseUrl() . '<br/>'; // 获取URL访问的ROOT地址 echo 'root:' . $request->root() . '<br/>'; // 获取URL访问的ROOT地址 echo 'root with domain: ' . $request->root(true) . '<br/>'; // 获取URL地址中的PATH_INFO信息 echo 'pathinfo: ' . $request->pathinfo() . '<br/>'; // 获取URL地址中的PATH_INFO信息 不含后缀 echo 'pathinfo: ' . $request->path() . '<br/>'; // 获取URL地址中的后缀信息 echo 'ext: ' . $request->ext() . '<br/>'; } }
, um PARAM-Variablen zu erhalten
PARAM-Variablen sind eine vom Framework bereitgestellte Variablenerfassungsmethode zur automatischen Identifizierung von GET, POST oder PUT Anforderungen und werden vom System zum Abrufen von Anforderungsparametern empfohlen. Die Verwendung ist wie folgt:
Die Erkennung, Erfassung und Sicherheitsfilterung globaler Eingabevariablen kann über das Anforderungsobjekt abgeschlossen werden~
// 获取当前请求的name变量 Request::instance()->param('name'); // 获取当前请求的所有变量(经过过滤) Request::instance()->param(); // 获取当前请求的所有变量(原始数据) Request::instance()->param(false); // 获取当前请求的所有变量(包含上传文件) Request::instance()->param(true);
//获取REQUEST变量 Request::instance()->request('id'); // 获取某个request变量 Request::instance()->request(); // 获取全部的request变量(经过过滤) Request::instance()->request(false); // 获取全部的request原始变量数据
Die Parameterbindungsmethode ist standardmäßig auf die Bindung entsprechend dem Variablennamen eingestellt.
Geben Sie die URL ein:<?php public function read($id) { return 'id ='.$id; } public function archive($year = '2017',$month = '07') { return 'year ='.$year.'$month ='.$month; }
http://localhost/index.php/lian/index/read/id/544
Ausgabe:
Die gemäß dem Variablennamen gebundenen Parameter muss mit dem in der URL übergebenen Variablennamen übereinstimmen, aber die Reihenfolge der Parameter muss nicht konsistent sein
Wenn der obige Fehler gemeldet wird, der Grund dafür Der Fehler ist sehr einfach, da beim Ausführen der Lesevorgangsmethode der ID-Parameter übergeben werden muss, die Methode jedoch nicht von der URL-Adresse aus gestartet werden kann. Erhalten Sie die korrekten ID-Parameterinformationen. Da wir keiner Eingabe des Benutzers vertrauen können, empfehlen wir Ihnen, dem ID-Parameter der Lesemethode einen Standardwert hinzuzufügen
6. Anforderungstyp
ThinkPHP5.0 verwendet einheitlich die thinkRequest-Klasse um Anforderungstypen zu bearbeiten.
Anfragetyp abrufen:
Das obige ist der detaillierte Inhalt vonVerwenden Sie thinkphp5.0, um Informationen, Variablen und Bindungsparameter abzurufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!