Maison >développement back-end >tutoriel php >PHP Master | Construisez une application crud avec yii en quelques minutes

PHP Master | Construisez une application crud avec yii en quelques minutes

Lisa Kudrow
Lisa Kudroworiginal
2025-02-23 08:57:10552parcourir

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:

<code class="language-bash"><yiiroot>/framework/yiic webapp yiitest</yiiroot></code>

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:
<code class="language-php">public function actionCreate()
{
    $this->render('create');
}</code>

Dans le fichier de vue, nous pouvons accéder aux données via la variable
<code class="language-php">$this->render('create', array('data' => $data_item));</code>
. 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 à
<code class="language-php">'urlManager'=>array(    
    'urlFormat'=>'path',
    'rules'=>array(
        '<w>/<d>'=>'<controller>/view',
        '<w>/<w>/<d>'=>'<controller>/<action>',
        '<w>/<w>'=>'<controller>/<action>',
    )
)</action></controller></w></w></action></controller></d></w></w></controller></d></w></code>
.

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 (
<code class="language-sql">CREATE TABLE posts (
    id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(100),
    content TEXT
)</code>
) et décommentez-vous ce qui suit:

protected/config/main.php

Remplacer
<code class="language-php">'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=yiitest',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
)</code>
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.

<code class="language-bash"><yiiroot>/framework/yiic webapp yiitest</yiiroot></code>

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