Quelques petites connaissances sur thinkphp

炎欲天舞
Libérer: 2023-03-14 17:54:02
original
1682 Les gens l'ont consulté

Lorsque vous utilisez thinkphp pour créer le backend, de nombreux paramètres doivent être configurés. Certains d'entre eux ne peuvent pas être mémorisés et doivent être recherchés. Voici quelques paramètres de base et quelques points de connaissances fragmentaires, j'espère. peut vous encourager tous. Cela peut être pratique pour tout le monde.

Rappel amical : ces configurations sont pour thinkphp3.2.3~~

1 avant et backend séparés


//定义应用目录define('BIND_MODULE','Admin');drfine('App_PATH','./Application');
Copier après la connexion
<🎜. >Pour la sécurité et la facilité de maintenance d'un projet, un fichier d'entrée est généralement utilisé, et lorsque le front et le backend sont séparés, le code est modifié dans le fichier de configuration lors de la définition. Une entrée de fichier backend peut apparaître, avec le front-end et le backend séparés pour une gestion facile. Vous pouvez également copier directement le dossier Accueil et modifier l'espace de noms dans le contrôleur et le modèle.

2. Définissez le suffixe du fichier de vue


    &#39;TMPL_TEMPLATE_SUFFIX&#39; => &#39;.php&#39;, // 默认模板文件后缀
Copier après la connexion
3. >

4. Un moyen simple et pratique d'obtenir des informations sur le serveur

    &#39;DB_TYPE&#39;   => &#39;mysql&#39;, // 数据库类型
    &#39;DB_HOST&#39;   => &#39;localhost&#39;, // 服务器地址
    &#39;DB_NAME&#39;   => &#39;wish&#39;, // 数据库名
    &#39;DB_USER&#39;   => &#39;root&#39;, // 用户名
    &#39;DB_PWD&#39;    => &#39;root&#39;, // 密码
    &#39;DB_PORT&#39;   => 3306, // 端口
    &#39;DB_PREFIX&#39; => &#39;tp_&#39;, // 数据库表前缀
Copier après la connexion

5.

$info = array(
            &#39;操作系统&#39;=>PHP_OS,
            &#39;运行环境&#39;=>$_SERVER["SERVER_SOFTWARE"],
            &#39;主机名&#39;=>$_SERVER[&#39;SERVER_NAME&#39;],
            &#39;WEB服务端口&#39;=>$_SERVER[&#39;SERVER_PORT&#39;],
            &#39;网站文档目录&#39;=>$_SERVER["DOCUMENT_ROOT"],
            &#39;浏览器信息&#39;=>substr($_SERVER[&#39;HTTP_USER_AGENT&#39;], 0, 40),
            &#39;通信协议&#39;=>$_SERVER[&#39;SERVER_PROTOCOL&#39;],
            &#39;请求方法&#39;=>$_SERVER[&#39;REQUEST_METHOD&#39;],
            &#39;ThinkPHP版本&#39;=>THINK_VERSION,
            &#39;上传附件限制&#39;=>ini_get(&#39;upload_max_filesize&#39;),
            &#39;执行时间限制&#39;=>ini_get(&#39;max_execution_time&#39;).&#39;秒&#39;,
            &#39;服务器时间&#39;=>date("Y年n月j日 H:i:s"),
            &#39;北京时间&#39;=>gmdate("Y年n月j日 H:i:s",time()+8*3600),
            &#39;服务器域名/IP&#39;=>$_SERVER[&#39;SERVER_NAME&#39;].&#39; [ &#39;.gethostbyname($_SERVER[&#39;SERVER_NAME&#39;]).&#39; ]&#39;,
            &#39;用户的IP地址&#39;=>$_SERVER[&#39;REMOTE_ADDR&#39;],
            &#39;剩余空间&#39;=>round((disk_free_space(".")/(1024*1024)),2).&#39;M&#39;,
        );
        $this->info=$info;
Copier après la connexion
Il n'y a pas de constructeur __initialize() dans les fonctions intégrées de PHP. Il n'y a que le constructeur __construct() Si la sous-classe a son propre constructeur (__construct()), elle est appelée Initialize it. vous-même, sinon, appelez le constructeur de la classe parent pour l'initialiser vous-même. Lorsque la sous-classe et la classe parent ont des fonctions __construct(), si vous souhaitez appeler la __constrcut() de la classe parent en même temps lors de l'initialisation de la sous-classe, vous pouvez utiliser parent:: __construct() dans la sous-classe.

L'apparition de __ initialize() dans ThinkPHP est uniquement destinée à permettre aux programmeurs d'éviter l'utilisation fréquente de parent:: __ construct() lors de l'écriture de sous-classes, et en même temps d'appeler correctement le constructeur de la classe parent dans le framework, ainsi, lors de l'initialisation d'une sous-classe dans ThnikPHP, nous utilisons __ initialize() au lieu de __ construct().

6. Méthode de redirection

Cette méthode appelle la fonction U pour générer l'adresse de redirection URL réelle, qui est la même que l'accès URL dans le groupe de projet, redirection entre les groupes Jump ajoute simplement le concept de regroupement des noms de projets. Le routage peut être utilisé dans la redirection. L'utilisation des paramètres de la méthode de redirection est cohérente avec l'utilisation de la fonction U. Veuillez vous référer aux parties pertinentes de la fonction U pour générer des adresses URL. . La différence entre

et succès/erreur :

redirect utilise la redirection d'en-tête PHP, tandis que succès/erreur utilise le saut d'attribut méta HTML http-equiv='Refresh'.
La redirection n'a pas de page de modèle et les informations d'invite de sortie sont directement générées par écho dans la fonction, tandis que le succès/l'erreur a des modèles correspondants.

La redirection et le succès/erreur peuvent réaliser un saut de page, mais la redirection peut rediriger sans délai. La solution utilisée dépend de la situation spécifique.


7. Téléchargement de fichiers thinkphp

Lors de l'utilisation de thinkphp pour définir le répertoire de téléchargement de fichiers, une erreur peut se produire, indiquant que le dossier spécifié est introuvable, mais dans la configuration, savePath a été utilisée pour la définir, mais cela ne fonctionne tout simplement pas.

La raison de l'erreur est que le simple fait de définir le paramètre savePath du téléchargement ne suffit pas. Le répertoire racine rootPath du téléchargement doit également être défini. En d’autres termes, définissez simplement les paramètres rootPath pour que cela fonctionne.


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal