recherche
Maisondéveloppement back-endtutoriel phpPHP Master | Construisez une application crud avec yii en quelques minutes

Framework YII: un guide pour construire rapidement des applications CRUD efficaces

yii est un cadre PHP haute performance connu pour sa vitesse, sa sécurité et sa bonne prise en charge pour les applications Web 2.0. Il suit le principe de "Convention sur la configuration", ce qui signifie que beaucoup moins de code peut être écrit que les autres cadres (moins de code signifie moins de bogues) tant qu'il suit ses spécifications. De plus, YII fournit également de nombreuses fonctionnalités pratiques hors de la boîte, telles que l'échafaudage, les objets d'accès aux données, les thèmes, le contrôle d'accès, le cache, etc. Cet article présentera les bases de l'utilisation de YII pour créer un système CRUD.

Points clés

  • yii est un cadre haute performance adapté aux applications Web 2.0 et fournit de nombreuses fonctionnalités pratiques telles que l'échafaudage, les objets d'accès aux données, les thèmes, le contrôle d'accès et la mise en cache. Il suit le principe des conventions sur la configuration, réduisant la quantité de code, réduisant ainsi la possibilité de bogues.
  • L'outil de ligne de commande de Yii yiic est utilisé pour créer des applications squelettes avec une structure de répertoire appropriée. YII suit les principes MVC et OOP, et la structure d'URL est http://localhost/yiitest/index.php?r=controllerID/actionID. Le contrôleur et la méthode à appeler sont déterminés en fonction de l'ID dans l'URL.
  • L'outil Web de Yii est utilisé pour générer des modèles, des contrôleurs et des formulaires pour les opérations CRUD, afin de développer rapidement des systèmes CRUD. Par exemple, un système simple où les utilisateurs peuvent effectuer des opérations CRUD sur des articles de blog peuvent être développés en quelques minutes. gii

débutant

Supposons que vous ayez installé Apache, PHP (5.1 ou version ultérieure) et MySQL sur votre système, donc la première étape consiste à télécharger le fichier Framework. Visitez le site officiel de Yii et téléchargez la dernière version stable (1.1.13 au moment de la rédaction). Décompressez le fichier zip pour obtenir le dossier

(l'identifiant de la version peut varier en fonction de la version que vous avez téléchargée), le renommer vers yii-1.1.13.e9e4a0 et le déplacer vers votre répertoire racine accessible au Web. Dans mon système, c'est yii, donc le chemin d'accès au fichier Framework sera C:\wamp\www. Dans cet article, je l'appellerai C:\wamp\www\yii afin que vous puissiez facilement suivre l'action même si vos paramètres sont différents. Ensuite, nous devons vérifier les fonctionnalités de YII seront prises en charge par notre système. Visitez <yiiroot></yiiroot> dans votre navigateur pour afficher les détails des exigences du cadre. Étant donné que nous utiliserons une base de données MySQL, vous devriez activer l'extension MySQL PDO. http://localhost/yii/requirements/

PHP Master | Build a CRUD App with Yii in Minutes

Nous voulons vérifier rapidement les exigences de YII, c'est pourquoi nous mettons les fichiers dans le répertoire accessible, mais il est recommandé d'enregistrer le fichier YII en dehors du répertoire de racine Web. Après vérification, vous pouvez le déplacer vers un autre endroit comme vous le souhaitez.

Continuez à avancer

Chaque application Web a une structure de répertoire et l'application YII doit également maintenir une structure hiérarchique dans le répertoire de racine Web. Pour créer une application squelette à l'aide de la structure du répertoire approprié, nous pouvons utiliser l'outil de ligne de commande de Yii yiic. Accédez au répertoire des racines Web et tapez ce qui suit:

<yiiroot>/framework/yiic webapp yiitest

Cela créera une application squelette appelée yiitest avec les fichiers minimaux requis. Vous y trouverez index.php, qui est utilisé comme script d'entrée; YII est basé sur les principes MVC et OOP, vous devez donc être familier avec ces sujets. Si vous n'êtes pas familier avec MVC, veuillez lire l'article de la série SitePoint "MVC Mode and PHP", qui fournit une excellente introduction. L'URL YII ressemble à http://localhost/yiitest/index.php?r=controllerID/actionID. Par exemple, dans un système de blog, l'URL peut être http://localhost/yiitest/index.php?r=post/create. post est l'ID de contrôleur, create est l'ID de fonctionnement. Le script d'entrée détermine le contrôleur et la méthode à appeler en fonction de l'ID. Le contrôleur avec id post doit être nommé PostController (ID supprime le suffixe "contrôleur" du nom de classe et convertit la première lettre en minuscules). L'ID de fonctionnement est l'ID de la méthode du contrôleur qui existe d'une manière similaire; Il peut y avoir plusieurs vues associées au contrôleur, nous enregistrons donc le fichier de vue dans le dossier PostController. Nous pouvons créer un fichier d'affichage nommé actionCreate() pour notre contrôleur dans le répertoire ci-dessus, puis écrivez simplement le code suivant pour présenter cette vue à l'utilisateur: protected/views/*controllerID* create.php

Si nécessaire, d'autres données peuvent également être transmises à la vue. L'opération est la suivante:
public function actionCreate()
{
    $this->render('create');
}

Dans le fichier de vue, nous pouvons accéder aux données via la variable
$this->render('create', array('data' => $data_item));
. La vue peut également accéder à

, qui pointe vers l'instance du contrôleur qui le rend. De plus, si vous souhaitez une URL conviviale, vous pouvez décommenter ce qui suit dans $data: $this protected/config/main.php

Ensuite, l'URL ressemblera à
'urlManager'=>array(    
    'urlFormat'=>'path',
    'rules'=>array(
        '<w>/<d>'=>'<controller>/view',
        '<w>/<w>/<d>'=>'<controller>/<action>',
        '<w>/<w>'=>'<controller>/<action>',
    )
)
.

http://localhost/yiitest/controllerID/actionID

Développer une application crud

Maintenant que vous avez appris les conventions YII importantes, il est temps de commencer à utiliser Crud. Dans cette section, nous développerons un système simple où les utilisateurs peuvent effectuer des opérations CRUD (créer, récupérer, mettre à jour et supprimer) sur les articles de blog.

Étape 1

Créez une base de données MySQL

et créez un tableau appelé

. Aux fins de cet article, le tableau n'aura que 3 colonnes: ID, titre et contenu. yiitest posts

Ouvrez le fichier de configuration de l'application (
CREATE TABLE posts (
    id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(100),
    content TEXT
)
) et décommentez-vous ce qui suit:

protected/config/main.php

Remplacer
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=yiitest',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
)
par notre nom de base de données, c'est-à-dire

. De toute évidence, vous devez également fournir les informations d'identification dont vous avez besoin pour la connexion YII. testdrive

Étape 2

Dans YII, chaque table de base de données doit avoir une classe de modèle du type correspondant CActiveRecord. L'avantage est que nous n'avons pas à traiter directement les tables de base de données. Au lieu de cela, nous pouvons utiliser des objets modèles correspondant à différentes lignes de la table. Par exemple, la classe Post est un modèle du tableau posts. Un objet de cette classe représente une ligne de la table posts et a des attributs représentant la valeur de la colonne. Pour générer rapidement le modèle, nous utiliserons l'outil Web de Yii gii. Cet outil peut être utilisé pour générer des modèles, des contrôleurs et des formulaires pour les opérations CRUD. Pour utiliser gii dans votre projet, trouvez ce qui suit dans le fichier de configuration de l'application et décommentez-le et ajoutez un mot de passe.

<yiiroot>/framework/yiic webapp yiitest

Ensuite, utilisez l'URL suivante pour accéder à gii: http://localhost/yiitest/index.php?r=gii. Si vous utilisez une URL conviviale, l'URL est: http://localhost/yiitest/gii. Cliquez sur Model Builder. gii On vous demandera le nom de la table; entrez "Posts" pour le nom de la table et utilisez le nom "Post" pour le modèle. Cliquez ensuite sur Générer pour créer le modèle.

PHP Master | Build a CRUD App with Yii in Minutes

Vérifiez protected/models, où vous trouverez le fichier Post.php.

Étape 3

Cliquez maintenant sur Crud Generator. Entrez le nom du modèle comme "Post". L'ID de contrôleur sera automatiquement rempli en "Post". Cela signifie qu'un nouveau contrôleur sera généré sous le nom PostController.php. Cliquez sur Générer. Ce processus générera le contrôleur et plusieurs fichiers de vue pour les opérations CRUD.

PHP Master | Build a CRUD App with Yii in Minutes

Maintenant, vous avez une toute nouvelle application CRUD! Cliquez sur le lien "Essayez maintenant" pour le tester. Pour gérer les publications, vous devez vous connecter comme admin/admin. Pour créer un nouveau message, vous devez visiter http://localhost/yiitest/post/create, pour mettre à jour un article spécifique, pointez simplement votre navigateur vers http://localhost/yiitest/post/update/postID. Encore une fois, vous pouvez répertorier tous les messages et les supprimer ou tous.

Conclusion

yii est très puissant pour développer des projets Web 2.0. En fait, nous venons de voir à quel point il est facile de créer un système CRUD entièrement fonctionnel en quelques minutes! De toute évidence, YII peut vous faire économiser beaucoup de travail car vous n'avez pas à repartir de zéro. YII nous fournit les bases que nous pouvons nous développer au besoin.

(La partie FAQ suivante est trop longue, il est recommandé de l'organiser en un document séparé.)

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
Comment créez-vous et utilisez-vous une interface dans PHP?Comment créez-vous et utilisez-vous une interface dans PHP?Apr 30, 2025 pm 03:40 PM

L'article explique comment créer, mettre en œuvre et utiliser des interfaces dans PHP, en se concentrant sur leurs avantages pour l'organisation du code et la maintenabilité.

Quelle est la différence entre crypte () et mot de passe_hash ()?Quelle est la différence entre crypte () et mot de passe_hash ()?Apr 30, 2025 pm 03:39 PM

L'article traite des différences entre crypt () et mot de passe_hash () dans PHP pour le hachage de mot de passe, en se concentrant sur leur implémentation, leur sécurité et leur aptitude aux applications Web modernes.

Comment pouvez-vous prévenir les scripts inter-sites (XSS) en PHP?Comment pouvez-vous prévenir les scripts inter-sites (XSS) en PHP?Apr 30, 2025 pm 03:38 PM

L'article discute de la prévention des scripts inter-sites (XSS) dans PHP par validation d'entrée, en codage de sortie et en utilisant des outils comme OWASP ESAPI et Purificateur HTML.

Qu'est-ce que la mise en œuvre automatique dans PHP?Qu'est-ce que la mise en œuvre automatique dans PHP?Apr 30, 2025 pm 03:37 PM

L'autofilage en PHP charge automatiquement les fichiers de classe en cas de besoin, améliorant les performances en réduisant l'utilisation de la mémoire et l'amélioration de l'organisation du code. Les meilleures pratiques incluent l'utilisation de PSR-4 et l'organisation du code efficacement.

Que sont les flux PHP?Que sont les flux PHP?Apr 30, 2025 pm 03:36 PM

PHP Streams Unify Unify Gestion de ressources telles que les fichiers, les prises de réseau et les formats de compression via une API cohérente, l'abstraction de la complexité et l'amélioration de la flexibilité et de l'efficacité du code.

Quelle est la taille maximale d'un fichier qui peut être téléchargé à l'aide de PHP?Quelle est la taille maximale d'un fichier qui peut être téléchargé à l'aide de PHP?Apr 30, 2025 pm 03:35 PM

L'article discute de la gestion des tailles de téléchargement de fichiers dans PHP, en se concentrant sur la limite par défaut de 2 Mo et comment l'augmenter en modifiant les paramètres PHP.ini.

Qu'est-ce que les types nullables en PHP?Qu'est-ce que les types nullables en PHP?Apr 30, 2025 pm 03:34 PM

L'article traite des types nullables en PHP, introduits dans PHP 7.1, permettant aux variables ou aux paramètres d'être soit un type spécifié ou nul. Il met en évidence des avantages tels que l'amélioration de la lisibilité, la sécurité des types et l'intention explicite, et explique comment déclarer

Quelle est la différence entre les fonctions unset () et unlink ()?Quelle est la différence entre les fonctions unset () et unlink ()?Apr 30, 2025 pm 03:33 PM

L'article traite des différences entre les fonctions unset () et unlink () dans la programmation, en se concentrant sur leurs objectifs et leurs cas d'utilisation. Unset () supprime les variables de la mémoire, tandis que Unlink () supprime les fichiers du système de fichiers. Les deux sont cruciaux pour l'effec

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code