Maison >développement back-end >tutoriel php >PHP 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
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. 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/
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
<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
<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
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
<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
<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.
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.
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!