


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 esthttp://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/
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
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
'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( '<w>/<d>'=>'<controller>/view', '<w>/<w>/<d>'=>'<controller>/<action>', '<w>/<w>'=>'<controller>/<action>', ) ).
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
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
'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.
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!

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é.

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.

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.

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.

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.

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.

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

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


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

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

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

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
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code
