Maison >développement back-end >tutoriel php >Fonctions que vous devez connaître lors de l'entrée dans Phalcon 'Phalcon Entry Guide Series 2'

Fonctions que vous devez connaître lors de l'entrée dans Phalcon 'Phalcon Entry Guide Series 2'

咔咔
咔咔original
2021-07-07 16:07:282868parcourir

Laisons-nous apprendre phalcon via des exemples

  • contents de cette série
  • foreword
  • 1. Architecture de projet
  • 2. Fichier d'entrée
  • 3. Configurer Nginx
  • 4. Jump de contrôleur
  • 5. Ajouter de la base de données, supprimer, modifier, vérifier
    • Insérer des données
    • Modifier des données
    • Supprimer des données
  • 6. Optimisation du code
  • Résumé

Contenu de cette série

1. Phalcon dans l'installation "Phalcon Pit Guide Series 1" sur Windows

Avant-propos

L'article précédent vous a présenté l'installation de Phalcon et a utilisé les outils de développement Phalcon pour créer des projets, des contrôleurs et des modèles. Je viens de faire quelques opérations simples.

Dans ce numéro, nous continuerons à parler de l'utilisation pratique de Phalcon.

1. Structure du projet

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Sur l'image ci-dessus, vous pouvez voir que cette structure de répertoires est très similaire au framework TP. Les répertoires correspondants ne seront pas expliqués un par un. Parmi eux, le répertoire des migrations. Laissez-moi vous le dire.

Ce répertoire est à l'image de la migration de base de données dans Laravel, je n'entrerai pas dans les détails sur la façon de l'utiliser !

La structure du framework n'est pas fixe. Comme ThinkPHP, vous pouvez également enregistrer un espace de noms pour modifier la structure des répertoires.

Dans le framework Phalcon, le récent projet de Kaka a également été développé à l'aide de plusieurs modules. Cependant, la structure des répertoires est également différente du répertoire généré à l'aide de l'outil de développement Phalcon.

Peu importe à quel point ils sont différents, ils sont tous pareils.

2. Fichier d'entrée

Fichier indispensable pour chaque framework, index.php semble être le fichier par défaut pour tous les développeurs.

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Ensuite c'est aussi indispensable dans le cadre de Phalcon.

Je n'analyserai pas le code source en détail quant à ce qui est chargé ici, ce n'est pas nécessaire, 想看源码解析的可以去搜索ThinkPHP框架源码解析。

L'implémentation générale consiste à effectuer d'abord l'injection de dépendances, en utilisant /config/services.phpIntroduisez certains fichiers dont vous avez besoin se concentrer sur C'est ici que la connexion à la base de données est établie. /config/services.php引入一些文件其中你要着重知道的是在这里进行了数据库的连接。

这个文件/config/router.php看名字就知道是什么,路由呗!怎么设置路由,后边再说。

在就通过第一步依赖注入后获取配置信息。

最后一行代码就是include APP_PATH . '/config/loader.php';

Ce fichier/config/router.phpVous saurez de quoi il s'agit simplement en regardant le nom, le routage ! La manière de configurer le routage sera discutée plus tard.

Obtenez les informations de configuration après avoir passé la première étape de l'injection de dépendances.
🎜🎜🎜La dernière ligne de code est include APP_PATH . '/config/loader.php';L'enregistrement est obtenu à partir de le répertoire d'informations de configuration. 🎜🎜🎜🎜🎜🎜3. Configurez Nginx🎜🎜

Dans le premier numéro de l'article, le projet n'était pas configuré. Faisons ensuite une configuration simple.

Phalcon propose trois méthodes de configuration, utilisons d'abord la plus simple.

server {
        listen        80;
        server_name  www.kakaweb.com;
        root   "D:/phpstudy_pro/WWW/phalcon/public";
        index index.php index.html error/index.html;
	    location / {
	        try_files $uri $uri/ /index.php?_url=$uri&$args;
	    }

        
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9002;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
	
	    location ~ /\.ht {
	        deny all;
	    }}

Ce qui précède est la configuration de Kaka Si vous utilisez également PhpStudy, vous pouvez le copier directement et l'utiliser.

4. Controller jump

Dans le premier article, j'ai utilisé l'outil de développement phalcon pour créer le contrôleur et le modèle. Si vous n'avez pas encore créé le projet, vous devez lire le premier article. !

Voyons d’abord comment se déroule la visite.

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Implémentation du code

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Vous pouvez voir que dans le contrôleur d'index, une autre méthode kaka est également établie.

Les frameworks grand public sont configurés avec le contrôleur d'index comme chemin d'accès par défaut. La façon d'accéder à ce kaka est la même que pour les autres frameworks.

Visitez simplement le lienhttp://www.kakaweb.com/index/kaka.

C'est-à-dire nom de domaine + contrôleur + nom de méthode. Il convient de noter que le nom de la méthode ici n'a pas besoin d'inclure Action.

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Pratiquez le cas officiel.

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Vous pouvez voir que le résultat de sortie est un lien

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Ce lien passera directement au contrôleur d'inscription. Ensuite, utilisez les outils de développement pour générer ce contrôleur.

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Cliquez ensuite sur le bouton tout de suite et il passera au contrôleur d'inscription.

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Tout est question de contrôleur.

5. Ajout, suppression, modification et requête de base de données

Vous pouvez voir que deux méthodes ont été définies à l'avance dans le fichier modèle. Peu importe ce qu'elles sont, essayons-les d'abord.

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Écrivez le code suivant directement sur le contrôleur

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

Résultats de la requête

Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

On peut voir que la méthode de recherche consiste à obtenir toutes les données

findFirst n'obtient que les première place Une donnée
    find(15) interroge les données avec l'identifiant 15
  • find("type = 'mechanical'");

    实现代码

        public function holdAction ()
        {
            $user = new User();
    
            $phql = "INSERT INTO User (name, age, sex) VALUES (:name:, :age:, :sex:)";
    
            $status = $user->modelsManager->executeQuery($phql, array(
                'name' => "咔咔1",
                'age' => 24,
                'sex' => 1
            ));
    
        }

    Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

    这里需要注意一下这个SQL语句$phql = "INSERT INTO User (name, age, sex) VALUES (:name:, :age:, :sex:)";

    在这里User指的是模型,并不是数据库表名。

    修改数据

    实现代码

        public function modifyAction ()
        {
            $user = new User();
    
            $phql = "UPDATE User SET name = :name:, age = :age:, sex = :sex: WHERE id = :id:";
    
            $status = $user->modelsManager->executeQuery($phql, array(
                'id' => 20,
                'name' => "咔咔2",
                'age' => 25,
                'sex' => 2
            ));
        }

    Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

    Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

        public function deleteAction ()
        {
            $user = new User();
    
            $phql = "DELETE FROM User WHERE id = :id:";
    
            $status = $user->modelsManager->executeQuery($phql, array(
                'id' => 20
            ));
    
        }

    可以看到已经没有结果了

    Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

    这时你会发现,在检索数据的时候用的框架自带的方法,到增、删、改使用的类似于原生了。

    对于这个问题,如果你是新手建议会那种方式就用那种方式,因为工期可不等你。

    Kaka vous parlera également de la méthode d'utilisation de la modification du framework. Ne vous inquiétez pas pour cela. Le prochain article sera publié !

    6. Optimisation du code

    Dans la section 5, avez-vous trouvé ce problème ?

    Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

    Dans toutes les méthodes, le modèle User est instancié, et c'est OK.

    Mais réfléchissez-y, si vous utilisez cette méthode pour un projet complet au début du projet et constatez que vous devez changer le nom au milieu, que feriez-vous ?

    Rechercher le mot-clé utilisateur globalement et le remplacer par le nom modifié ?

    Pour être honnête, peu de programmeurs osent faire ce genre d’opération car on ne sait pas d’où le problème va survenir.

    Kaka vous expliquera donc une méthode de gestion unifiée de ces modèles.

    Fonctions que vous devez connaître lors de lentrée dans Phalcon Phalcon Entry Guide Series 2

    Vous pouvez déclarer le modèle à votre manière.

    Initialisez-le ensuite dans le contrôleur et instanciez le modèle ici.

    À ce stade, vous pensez que si le nom de la table est modifié, avons-nous seulement besoin de modifier le nom dans la méthode d'initialisation ?

    Résumé

    Cet article vous présente les fonctions nécessaires lors de l'utilisation d'un framework.

    Bien qu'une méthode de type natif soit utilisée dans le processus d'ajout, de suppression, de modification et de vérification, cette méthode est rarement utilisée dans aucun framework.

    Mais peu importe de quelle manière, tout est du code, n'est-ce pas ? Ne vous moquez pas de cela. Les fonctions du framework peuvent être modifiées à volonté, mais ces instructions SQL ne changeront jamais.

    La persévérance dans l'apprentissage, la persévérance dans l'écriture et la persévérance dans le partage sont les convictions auxquelles Kaka a toujours adhéré depuis ses débuts. J'espère que les articles de Kaka sur le grand Internet pourront vous apporter un peu d'aide. Je m'appelle Kaka, à la prochaine fois.

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