Maison  >  Article  >  développement back-end  >  PHP - Introduction détaillée et utilisation de thinkphp5

PHP - Introduction détaillée et utilisation de thinkphp5

王林
王林avant
2019-08-23 18:04:1410650parcourir

Cet article convient aux amis qui viennent d'apprendre PHP mais qui ne sont pas encore entrés en contact avec les frameworks.

Avant-propos :

Je ne sais pas si vous ressentez cela Après une période d'apprentissage du PHP, j'ai trouvé que ce langage n'est pas difficile et qu'il est facile. pour commencer. Écrivez simplement une interface Web avec désinvolture, puis modifiez le contenu de la base de données. Cela ne semble pas difficile. L'éditeur de l'époque était également très stupide et pensait que créer un site Web n'était que cela, tellement ( ̄_, ̄). Cependant, alors que mon étude continuait à s'approfondir, j'ai soudainement découvert que ce n'était pas le cas. En repensant à mes pensées initiales, je ne pouvais que me plaindre silencieusement d'être trop jeune et trop simple. En ce qui concerne l'éditeur, ce que j'ai appris au début était l'étape d'introduction à PHP. Bref, j'ai simplement ajouté le code à cette pile, puis j'ai ajusté l'affichage de la base de données pour implémenter la fonction. Au fur et à mesure que le nombre de fonctions que je souhaitais écrire augmentait, l'éditeur s'est progressivement rendu compte qu'il fallait plus de 20 pages pour écrire un design et une demi-journée pour modifier le code. Cependant, l'éditeur n'avait pas la notion de framework à l'époque. . Ce n'est que lorsque j'ai appris le framework Struts2 de Java EE que l'éditeur s'est rendu compte qu'il était une si bonne personne - il a explosé instantanément. Afin de renforcer l'apprentissage de PHP, l'éditeur a passé du temps à étudier l'un des nombreux frameworks PHP->thinkPHP5.

Post-scriptum :
J'ai écrit cet article pour faire une note d'étude, et en passant, je vais donner une introduction simple aux amis qui veulent apprendre thinkphp5, et la mettre dans la base de données. L'éditeur ne présentera pas l'opération, car il y en a vraiment beaucoup, mais il y a une explication plus détaillée dans le manuel de développement. Si l'écriture n'est pas bonne, veuillez la corriger. De plus, l'éditeur estime personnellement que le manuel de démarrage rapide de tp5 vaut également la peine d'être lu (payant).

1. Qu'est-ce que le framework thinkphp5 ?

Avant de présenter thinkphp5, parlons d'abord de ce qu'est un framework. Bref, quelqu'un d'autre a construit votre maison pour vous mais elle n'a pas encore été décorée. Vous devez la décorer dans l'appartement conçu par d'autres, vous évitant ainsi l'opération répétitive de déplacement de briques. (Pour une compréhension approfondie du framework, vous pouvez utiliser Baidu par vous-même).

ThinkPHP est un framework de développement PHP léger, rapide et simple, basé sur MVC et orienté objet. Il est publié sous la licence open source Apache2. Depuis sa création en 2006, il adhère à des principes de conception simples et pratiques. tout en conservant d'excellentes performances. Tout en conservant le code le plus simple, il accorde une attention particulière à l'expérience de développement et à la facilité d'utilisation, et possède de nombreuses fonctions et fonctionnalités originales, offrant un support solide pour le développement d'applications WEB et d'API. (Pour les débutants, je pense qu'il est inutile de comprendre le concept. Il vaut mieux le ressentir directement pendant le projet)

2 Préparatifs préliminaires

(1) Sélection des outils de programmation : Outils ouverts : phpStorm + Outils serveur : phpStudy

Le choix des outils dépend principalement des préférences personnelles, mais il est préférable de choisir des outils d'édition grand public.

Adresse du tutoriel de téléchargement et d'installation de phpstrom : http://www.php.cn/xiazai/gongju/122

Adresse du tutoriel de téléchargement et d'installation de phpStudy : http://www.php.cn/xiazai/gongju/845

Si vous n'avez pas utilisé phpstudy, vous pouvez créer un lien vers l'adresse ci-dessus pour apprendre les méthodes de fonctionnement de base de phpsyudy

* Ci-dessous Cette étape n'est pas nécessaire pour le moment

Construire un environnement de développement PhpStorm+PhpStudy : https://blog.csdn.net/u012861467/article/details/54692236

(2) Téléchargez et installez thinkphp5

Adresse de téléchargement : http://www.thinkphp.cn/donate/download/id/1155.html

Méthode d'installation : compressez le package Décompressez et placez phpStudy/ww sous le projet

PHP - Introduction détaillée et utilisation de thinkphp5

PHP - Introduction détaillée et utilisation de thinkphp5Entrez l'URL : localhost/thinkphp_5/public/ Lorsque l'interface suivante apparaît, l'installation est réussie

PHP - Introduction détaillée et utilisation de thinkphp5

(3) Connaissances requises pour apprendre thinkphp5
Connaissances au stade d'introduction à PHP + programmation orientée objet PHP (==> Vous (vous pouvez d'abord jeter un œil à la partie espace de noms) + Modèle de conception MVC

3 Utilisation de base de thinkphp5

(1) Référence : manuel de développement complet de thinkphp5 : https://www.kancloud.cn/manual /thinkphp5/118003 Il y a beaucoup de contenu dans le manuel de développement et il n'est pas nécessaire de le lire directement. Pour ceux qui sont nouveaux sur tp5, vous pouvez effectuer une recherche. pour la partie des connaissances dont vous avez besoin.

(2) Structure du répertoire : (il suffit de le comprendre grossièrement)

PHP - Introduction détaillée et utilisation de thinkphp5

Il existe de nombreux fichiers de répertoire dans tp5. Ici, nous nous concentrons sur les parties soulignées. Pour les autres parties, vous pouvez vous référer au manuel de développement. Parlons d’abord de l’application. En termes simples, c’est dans cette partie que nous écrivons le code. Comme le montre l'image ci-dessus, le module d'indexation est le front-end, et nous créons généralement nous-mêmes le module d'administration et l'administrateur back-end.

PHP - Introduction détaillée et utilisation de thinkphp5PHP - Introduction détaillée et utilisation de thinkphp5

Sous le module d'indexation et le module d'administration se trouvent le MVC familier, datebase.php est le fichier de configuration de la base de données et config.php sous l'application affecte tous les modules Fichier de configuration, tandis que le config.php d'index et d'admin n'affecte que les fichiers sous leurs propres modules. Le static under public est un fichier qui contient des ressources statiques, et index.php est le fichier d'entrée, accessible uniquement via ce fichier.

(3) MVC

Le modèle (modèle) est la partie de l'application qui gère la logique des données de l'application.

Habituellement, l'objet modèle est responsable de l'accès aux données de la base de données.

View est la partie de l'application qui gère l'affichage des données.

Habituellement, les vues sont créées sur la base des données du modèle.

Le contrôleur est la partie de l'application qui gère l'interaction de l'utilisateur.

Habituellement, le contrôleur est responsable de la lecture des données de la vue, du contrôle des entrées de l'utilisateur et de l'envoi des données au modèle.

PHP - Introduction détaillée et utilisation de thinkphp5

Modèle (model)

a : Configuration de la base de données :

Ouvrez database.php, généralement la partie soulignée doit être modifiée. De plus, dans le manuel de développement complet de thinkphp5.0, nous pouvons voir les spécifications de développement dans le répertoire de base, que nous devons comprendre.

PHP - Introduction détaillée et utilisation de thinkphp5

b : Construire le modèle : (Cette partie est également expliquée plus en détail dans le manuel de développement)

       <?php
    namespace app\admin\model;
    use think\Model;

    class User extends Model
    {

    }
    ?>

Dans la plupart des cas, nous n'avons pas besoin pour définir n'importe quoi pour le modèle. Les propriétés et les méthodes peuvent effectuer des opérations de base. Le modèle correspondra automatiquement à un tableau de données. La spécification est la suivante : préfixe de base de données + nom de classe de modèle actuel (à l'exclusion de l'espace de noms). Étant donné que le nom de la classe de modèle est en cas de chameau, lors de l'obtention de la table de données réelle, elle sera automatiquement convertie en un nom de table de données nommé en minuscules + trait de soulignement, donc vous seul. vous devez créer un modèle A avec le même nom que la table de données. Si votre table de données n'est pas nommée avec un préfixe et un trait de soulignement comme tp_user, vous pouvez spécifier la table de données dans le modèle.

        <?php
    namespace app\admin\model;
    use think\Model;
    use think\Db;
    class Swe extends Model
    {
        // 设置完整的数据表(包含前缀)
        protected $table = &#39;swe&#39;;
    }

Ce qui suit est un exemple pour expliquer :

Créez d'abord les fichiers suivants sous le module d'administration, créez User.php sous le contrôleur, créez User.php sous le modèle et créez-le sous le dossier utilisateur de vue, créez user.html

sous le dossier utilisateur et créez les champs de la table utilisateur avec l'identifiant, le nom de clic, l'e-mail, l'anniversaire

Le code est le suivant :

sous contrôleur User.php

<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\User as UserModel;
class User extends Controller
{
//    // 创建用户数据页面
//    public function create()
//    {
//        return $this->fetch(&#39;user&#39;);//加载模板,会自动找到view下的user的user.html并显示
//    }

// 创建用户数据页面
    public function create()
    {
        return view(&#39;user&#39;);//加载模板,会自动找到view下的user的user.html
    }
// 新增用户数据
    public function add()
    {
        $user = new UserModel;
        if ($user->allowField(true)->save(input(&#39;post.&#39;))) {//input(&#39;post.&#39;))为表单提交的数据
            return &#39;用户[ &#39; . $user->nickname . &#39;:&#39; . $user->id . &#39; ]新增成功&#39;;
        } else {
            return $user->getError();
        }
    }
    // model的助手函数新增用户数据
    public function add3()
    {
        // 使用model助手函数实例化User模型
        $user = model(&#39;User&#39;);
// 模型对象赋值
        $user->data([
            &#39;nickname&#39;  =>  &#39;SWE&#39;,
            &#39;email&#39; =>  &#39;thinkphp@qq.com&#39;
        ]);
        if ($user->save()) {
            return &#39;用户[ &#39; . $user->nickname . &#39;:&#39; . $user->id . &#39; ]新增成功&#39;;
        } else {
            return $user->getError();
        }
    }

User.php sous Model

<?php
namespace app\admin\model;
use think\Model;

class User extends Model
{

}

user.html

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>创建用户</title>
    <style>
    </style>
</head>
<body>
<h2>创建用户</h2>
<FORM method="post" class="form" action="{:url(&#39;admin/user/add&#39;)}">
    昵 称:<INPUT type="text" class="text" name="nickname"><br/>
    邮 箱:<INPUT type="text" class="text" name="email"><br/>
    生 日:<INPUT type="text" class="text" name="birthday"><br/>
    <input type="hidden" name="__token__" value="{$Request.token}" />
    <INPUT type="submit" class="btn" value=" 提交 ">
</FORM>
</body>
</html>

url:localhost/tp5/public/index.php/admin/user/create Exécutez la méthode de création sous user.php

return $this->fetch('user'); //Chargez le modèle, il trouvera automatiquement le user.html de l'utilisateur sous la vue et affichera

user.html Soumettre les données à la méthode add

Instancier la classe Model, $user->allowField(true)->save(input('post.')) soumettre les données à la base de données

Pour en savoir plus questions connexes, veuillez visiter le site Web PHP chinois : Tutoriel vidéo PHP

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer