Maison  >  Article  >  développement back-end  >  À propos de l'utilisation de la configuration personnalisée et du chargement du framework ThinkPHP3.2

À propos de l'utilisation de la configuration personnalisée et du chargement du framework ThinkPHP3.2

不言
不言original
2018-06-14 15:26:021919parcourir

Cet article présente principalement la configuration personnalisée et l'utilisation du chargement du framework ThinkPHP3.2, et analyse les techniques de fonctionnement associées du framework thinkPHP3.2 utilisant une configuration personnalisée pour enregistrer les données de tableau prédéfinies sous forme d'exemples. Les amis dans le besoin peuvent s'y référer. à cela

Les exemples de cet article décrivent la configuration personnalisée et l'utilisation du chargement du framework ThinkPHP3.2. Partagez-le avec tout le monde pour référence, comme suit :

Parfois, nous avons des règles qui définissent le contenu réel correspondant à chaque numéro, comme dans un menu déroulant :

<select name="reasonAndType" id="">
  <option value="1">查询物流</option>
  <option value="2">办理退货</option>
  <option value="3">咨询退货</option>
  <option value="4">咨询佣金</option>
  <option value="5">咨询规则</option>
  <option value="0">其他</option>
</select>

←Effet réel

←L'effet de l'inventaire des données

←Lors de l'affichage.

Dans cet exemple, les caractères chinois sont réellement affichés et la valeur réelle est un nombre. Lorsque nous le stockons dans les données, nous stockons également le nombre. Lorsque nous l'obtenons de la base de données, nous obtenons également le numéro. nombre. Lorsqu'il est affiché, il est également affiché.

Nous avons donc besoin de quelque chose de similaire à un dictionnaire, qui définit quels caractères chinois correspondent à ce nombre et quelle est la signification réelle de la définition ; 🎜>

Nous pouvons obtenir cet effet en utilisant une base de données, mais nous non, car la surcharge de fonctionnement de la base de données est trop élevée

S'il s'agit d'un environnement PHP ordinaire, nous pouvons enregistrer les règles dans un fichier séparé, et le contenu est un tableau :

type.PHP

$type = array(
&#39;1&#39; => &#39;查询物流&#39;,
&#39;2&#39; => &#39;办理退货&#39;,
&#39;3&#39; => &#39;咨询退货&#39;,
&#39;4&#39; => &#39;咨询佣金&#39;,
&#39;5&#39; => &#39;咨询规则&#39;,
&#39;0&#39; => &#39;其他&#39;
);

Tout comme le code ci-dessus, une fois défini , enregistrez-le sous forme de fichier lorsque nous devons appeler cette règle, incluez ou exigez simplement, puis utilisez simplement la variable $type pour la trouver, par exemple :

require_once(&#39;type.php&#39;);
echo $type[1]; //输出&#39;查询物流&#39;
foreach($type as $k => $v){ //直接打印出最上面的下拉菜单代码,
echo "<option value = &#39;{$k}&#39; >{$v}</option>";
}
<.>

Si vous souhaitez importer un fichier dans ThinkPHP, vous ne pouvez utiliser que le chemin absolu. L'utilisation du raccourci

ou

dans include et require ne fonctionnera pas. Je n'ai pas essayé le __APP__. fonction de construction de chaîne, mais cela devrait être possible. __ROOT__U() Il existe une autre méthode d'implémentation, que je recommande ici, qui consiste à définir directement cet ensemble de règles comme fichier de configuration de ce site Web. Lorsque nous l'utilisons, utilisez la fonction

charger la configuration pour le charger. array Assignez-le simplement à une variable.

C()Mise à jour du code :

Mettez les règles que vous avez définies sous conf. Il s'agit d'un fichier de configuration privé. Seule l'entrée Home prendra effet. Elle peut également être placée sous le fichier de configuration public. Détails Vous pouvez consulter le manuel.

return array(
&#39;REASON_AND_TYPE&#39; => array(
&#39;1&#39; => &#39;查询物流&#39;,
&#39;2&#39; => &#39;办理退货&#39;,
&#39;3&#39; => &#39;咨询退货&#39;,
&#39;4&#39; => &#39;咨询佣金&#39;,
&#39;5&#39; => &#39;咨询规则&#39;,
&#39;0&#39; => &#39;其他&#39;
)
);

Notez que return est ajouté

Notez que le format renvoie un tableau et le nom de la clé ; est en majuscule (par souci de beauté), la valeur clé est ce que vous souhaitez définir Ici, nous définissons un tableau.

Modifiez le fichier config.php

<?php
return array(
//&#39;配置项&#39;=>&#39;配置值&#39;
&#39;DB_TYPE&#39; => &#39;mysqli&#39;, // 数据库类型
&#39;DB_HOST&#39; => &#39;localhost&#39;, // 服务器地址
&#39;DB_NAME&#39; => &#39;kefu&#39;, // 数据库名
&#39;DB_USER&#39; => &#39;root&#39;, // 用户名
&#39;DB_PWD&#39; => &#39;root&#39;, // 密码
&#39;DB_PORT&#39; => &#39;&#39;, // 端口
&#39;DB_PREFIX&#39; => &#39;&#39;, // 数据库表前缀
&#39;LOAD_EXT_CONFIG&#39; => &#39;reasonAndType&#39;, //这是我们自己添加的,LOAD_EXT_CONFIG键名固定,键值是你的php文件的文件名,那个数组名字在这里就不用管了
);

Ceci est considéré comme configuré.

Ce qui suit concerne l'appel de cet ensemble de règles :

$reasonAndTypeX = C(&#39;REASON_AND_TYPE&#39;);
//直接用数组名字就可以了,C()函数能加载配置里的键名所代表的值,赋给变量

Notez que la valeur dans la fonction

provient de la valeur du fichier ReasonAndType.

C()

var_dump($reasonAndTypeX);

entrera le contenu de ce tableau

array(
&#39;1&#39; => &#39;查询物流&#39;,
&#39;2&#39; => &#39;办理退货&#39;,
&#39;3&#39; => &#39;咨询退货&#39;,
&#39;4&#39; => &#39;咨询佣金&#39;,
&#39;5&#39; => &#39;咨询规则&#39;,
&#39;0&#39; => &#39;其他&#39;
);

comme ceci Ceci termine le paramétrage et le chargement du fichier de configuration personnalisé.

Si '

REASON_AND_TYPE

' n'est pas configuré, une valeur nulle sera renvoyée Bien sûr, vous pouvez également définir une valeur par défaut, le code est le suivant ;

// 如果REASON_AND_TYPE尚未设置的话,则返回default_config字符串
C(&#39;my_config&#39;,null,&#39;default_config&#39;);

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun pour en savoir plus. contenu, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment le framework thinkPHP implémente les requêtes multi-tables


Analyse de l'utilisation de la configuration dynamique du framework thinkPHP


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