Maison >développement back-end >tutoriel php >Introduction détaillée à l'analyse de convivialité de l'API du framework thinkPHP5.0 après optimisation

Introduction détaillée à l'analyse de convivialité de l'API du framework thinkPHP5.0 après optimisation

黄舟
黄舟original
2017-03-18 09:35:381254parcourir

Cet article présente principalement la convivialité du thinkPHP5.0frameworkAPI après optimisation, et analyse la sortie de données et les erreurs dans le framework thinkPHP5.0 après l'optimisation de l'API sur la base d'exemples spécifiques. Pour améliorer la convivialité du débogage, les amis dans le besoin peuvent se référer à

Cet article décrit la convivialité de l'API du framework thinkPHP5.0 après optimisation. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

La nouvelle version de ThinkPHP a apporté de nombreuses optimisations pour le développement d'API et ne s'appuie pas sur l'extension du mode API d'origine.

Sortie de données

La nouvelle version de la sortie Controller utilise la classe Response pour un traitement unifié, au lieu de la sortir directement dans le contrôleur , via le réglage default_return_type ou la définition dynamique de différents types de sortie Response peut effectuer automatiquement le traitement de conversion des données. De manière générale, il vous suffit de renvoyer une chaîne ou un tableau dans le contrôleur. Par exemple, si nous configurons :

<.>
&#39;default_return_type&#39;=>&#39;json&#39;
Ensuite, la valeur de retour de la méthode de contrôleur suivante sera automatiquement convertie au format json et renvoyée.

namespace app\index\controller;
class Index
{
  public function index()
  {
    $data = [&#39;name&#39;=>&#39;thinkphp&#39;,&#39;url&#39;=>&#39;thinkphp.cn&#39;];
    return [&#39;data&#39;=>$data,&#39;code&#39;=>1,&#39;message&#39;=>&#39;操作完成&#39;];
  }
}
Après avoir accédé à l'adresse URL de la requête, vous pouvez enfin voir le résultat dans le navigateur comme suit :


Copiez le code Le code est le suivant suit :

{"data":{"name":"thinkphp","url":"thinkphp.cn"},"code":1,"message":"\u64cd\u4f5c\u5b8c\u6210"}
Si vous devez renvoyer d'autres formats de données, il n'est pas nécessaire d'apporter des modifications au code du contrôleur lui-même.


prend en charge la sortie en spécifiant explicitement le type de sortie. Par exemple, en spécifiant la sortie des données JSON comme suit :

namespace app\index\controller;
class Index
{
  public function index()
  {
    $data = [&#39;name&#39;=>&#39;thinkphp&#39;,&#39;url&#39;=>&#39;thinkphp.cn&#39;];
    // 指定json数据输出
    return json([&#39;data&#39;=>$data,&#39;code&#39;=>1,&#39;message&#39;=>&#39;操作完成&#39;]);
  }
}
ou en spécifiant les données de type

XML de sortie :

namespace app\index\controller;
class Index
{
  public function index()
  {
    $data = [&#39;name&#39;=>&#39;thinkphp&#39;,&#39;url&#39;=>&#39;thinkphp.cn&#39;];
    // 指定xml数据输出
    return xml([&#39;data&#39;=>$data,&#39;code&#39;=>1,&#39;message&#39;=>&#39;操作完成&#39;]);
  }
}
Les

types de données pris en charge incluent view, xml, json et jsonp. Les autres types doivent être étendus par vous-même.

Débogage d'erreur

En raison du développement de l'API, il n'est pas pratique de développer et de déboguer sur le client, mais la fonction de débogage Trace de ThinkPHP5 prend en charge des méthodes telles que Socket, qui peut réaliser le développement à distance.

Méthode de configuration :

&#39;app_trace&#39; => true,
&#39;trace&#39;   => [
  &#39;type&#39;       => &#39;socket&#39;,
  // socket服务器
  &#39;host&#39;       => &#39;slog.thinkphp.cn&#39;,
],
Installez ensuite le plug-in du navigateur Chrome pour effectuer le

débogage à distance Veuillez vous référer à la section de débogage pour plus de détails.

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