Maison  >  Article  >  développement back-end  >  Utilisez thinkphp5.0 pour obtenir des informations, des variables et des paramètres de liaison

Utilisez thinkphp5.0 pour obtenir des informations, des variables et des paramètres de liaison

PHP中文网
PHP中文网original
2017-06-27 10:07:592452parcourir

1. Constructeur :

La classe contrôleur doit hériter de la classe thinkController pour utiliser :

Method_initialize

Code :

<?php
namespace appliancontroller;use thinkController;use thinkDb;use thinkRequest;class Index extends Controller
{   
public function _initialize()
    {        echo &#39;init|||&#39;;
    }    
    public function hello()
    {        return &#39;hello&#39;;
    }
}

Regardez la sortie : Utilisez thinkphp5.0 pour obtenir des informations, des variables et des paramètres de liaison

2. Méthode de préfixe :

['sauf' => 'Nom de la méthode, nom de la méthode'] :

représente ces méthodes à ne pas utiliser méthodes de préfixe,

['only' => 'Nom de la méthode, nom de la méthode'] :

indique que seules ces méthodes utilisent des méthodes de préfixe.

***********************************Ligne de démarcation******** * ***************************

L'attribut beforeActionList peut spécifier une méthode comme pré-opération pour d'autres méthodes ;

C'est-à-dire exécuté avant l'exécution

Code :

<?php
namespace appliancontroller;use thinkController;use thinkDb;use thinkRequest;class Index extends Controller
{protected $beforeActionList = [        &#39;first&#39;,
        &#39;second&#39; =>  [&#39;except&#39;=>&#39;hello&#39;],
        &#39;three&#39;  =>  [&#39;only&#39;=>&#39;hello&#39;],
    ];    
    protected function first()
    {        echo &#39;first<br/>&#39;;
    }    
    protected function second()
    {        echo &#39;second<br/>&#39;;
    }    
    protected function three()
    {        echo &#39;three<br/>&#39;;
    }    public function hello()
    {        return &#39;hello&#39;;
    }
    

    
}

Regardez le résultat :

Utilisez thinkphp5.0 pour obtenir des informations, des variables et des paramètres de liaison

Il ne devrait afficher que bonjour Oui, mais à cause de l'opération précédente, trois méthodes sont affichées

Remarque : pour cette opération, le nom de la méthode doit être en minuscules

3. 🎜>

<?php
namespace appliancontroller;
use thinkController;
use thinkDb;
use thinkRequest;

class Index extends Controller
{
public function index(){
$request = Request::instance();
// 获取当前域名
echo &#39;domain: &#39; . $request->domain() . &#39;<br/>&#39;;
// 获取当前入口文件
echo &#39;file: &#39; . $request->baseFile() . &#39;<br/>&#39;;
// 获取当前URL地址 不含域名
echo &#39;url: &#39; . $request->url() . &#39;<br/>&#39;;
// 获取包含域名的完整URL地址
echo &#39;url with domain: &#39; . $request->url(true) . &#39;<br/>&#39;;
// 获取当前URL地址 不含QUERY_STRING
echo &#39;url without query: &#39; . $request->baseUrl() . &#39;<br/>&#39;;
// 获取URL访问的ROOT地址
echo &#39;root:&#39; . $request->root() . &#39;<br/>&#39;;
// 获取URL访问的ROOT地址
echo &#39;root with domain: &#39; . $request->root(true) . &#39;<br/>&#39;;
// 获取URL地址中的PATH_INFO信息
echo &#39;pathinfo: &#39; . $request->pathinfo() . &#39;<br/>&#39;;
// 获取URL地址中的PATH_INFO信息 不含后缀
echo &#39;pathinfo: &#39; . $request->path() . &#39;<br/>&#39;;
// 获取URL地址中的后缀信息
echo &#39;ext: &#39; . $request->ext() . &#39;<br/>&#39;;  
}
}
4. Manipuler les variables

pour obtenir les variables PARAM

Les variables PARAM sont une méthode d'acquisition de variables fournie par le framework pour identifier automatiquement les requêtes GET, POST ou PUT, et sont recommandés par le système pour obtenir les paramètres de la requête. Méthode, l'utilisation est la suivante :

La détection, l'acquisition et le filtrage de sécurité des variables d'entrée globales peuvent être complétés via l'objet Request~

// 获取当前请求的name变量
Request::instance()->param(&#39;name&#39;);
// 获取当前请求的所有变量(经过过滤)
Request::instance()->param();
// 获取当前请求的所有变量(原始数据)
Request::instance()->param(false);
// 获取当前请求的所有变量(包含上传文件)
Request::instance()->param(true);
//获取REQUEST变量
Request::instance()->request(&#39;id&#39;); // 获取某个request变量
Request::instance()->request(); // 获取全部的request变量(经过过滤)
Request::instance()->request(false); // 获取全部的request原始变量数据
5. Paramètres de liaison

La méthode de liaison des paramètres est par défaut la liaison en fonction du nom de la variable

<?php
public function read($id)
{
    return &#39;id =&#39;.$id;
    
}
public function archive($year = &#39;2017&#39;,$month = &#39;07&#39;)
{
    return &#39;year =&#39;.$year.&#39;$month =&#39;.$month;
}
Entrez l'URL :

http:/ /localhost/index.php/lian/index/read/id/544

Sortie :

Utilisez thinkphp5.0 pour obtenir des informations, des variables et des paramètres de liaison

Les paramètres liés par les noms de variables doivent être cohérents avec la variable noms transmis dans l'URL, mais l'ordre des paramètres n'a pas besoin d'être cohérent

Utilisez thinkphp5.0 pour obtenir des informations, des variables et des paramètres de liaison

Si l'erreur ci-dessus est signalée, la raison de l'erreur est très simple, car lors de l'exécution de la méthode d'opération de lecture, le paramètre id doit être transmis, mais la méthode ne peut pas démarrer à partir de l'adresse URL. Obtenez les informations correctes sur le paramètre id. Puisque nous ne pouvons faire confiance à aucune entrée de l'utilisateur, nous vous recommandons d'ajouter une valeur par défaut au paramètre id de la méthode read

6. Le type de requête

ThinkPHP5.0 utilise uniformément la classe thinkRequest pour gérer types de demandes.

Obtenir le type de demande :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn