Yii préfère les spécifications à la configuration. Suivre la spécification vous permet de créer des applications Yii matures sans écrire ni maintenir de configurations complexes. Bien entendu, Yii peut toujours être personnalisé dans presque tous les aspects via la configuration si nécessaire.
Ci-dessous, nous expliquons les spécifications de développement recommandées dans la programmation Yii. Pour plus de simplicité, supposons que WebRoot soit le répertoire dans lequel l'application Yii est installée.
Par défaut, Yii reconnaît les URL au format suivant :
http://www.php.cn/
r
La variable GET signifie route, qui peut être analysée par Yii. contrôleurs et actions. Si ActionID
est omis, le contrôleur utilisera l'action par défaut (définie dans CController::defaultAction) ; si ControllerID
est également omis (ou si la variable r
n'existe pas), l'application utilisera le contrôleur par défaut ( défini dans Défini dans CWebApplication::defaultController).
Avec l'aide de CUrlManager, vous pouvez créer des URL plus reconnaissables et plus conviviales pour le référencement, telles que http://www.php.cn/
. Cette fonctionnalité est expliquée en détail dans Gestion des URL.
Yii recommande d'utiliser le style camel lors de la dénomination des variables, des fonctions et des classes, c'est-à-dire que la première lettre de chaque mot est en majuscule et reliée entre elles, sans espaces entre les deux. Les noms de variables et de fonctions doivent avoir leur premier mot en minuscules pour les distinguer des noms de classe (par exemple : $basePath
, runController()
, LinkPager
). Pour les variables membres de classe privée, nous vous recommandons de préfixer leurs noms avec un trait de soulignement (par exemple : $_actionList
).
Étant donné que les espaces de noms ne sont pas pris en charge avant PHP 5.3.0, nous recommandons que les classes soient nommées de manière indépendante pour éviter les conflits avec des classes tierces. Pour cette raison, tous les noms de classes du framework Yii sont préfixés par « C ».
Une règle spéciale pour les noms de contrôleurs est qu'ils doivent se terminer par le mot Controller
. Ensuite, l'ID du contrôleur est la première lettre du nom de classe en minuscule et le mot Controller
est supprimé. Par exemple, l'ID de la classe PageController
est page
. Cette règle rend l'application plus sécurisée. Cela simplifie également les URL liées au contrôleur (par exemple /index.php?r=page/index
au lieu de /index.php?r=PageController/index
).
La configuration est un tableau de paires clé-valeur. Chaque clé représente un nom de propriété dans l'objet configuré et chaque valeur est la valeur initiale de la propriété correspondante. Par exemple, array('name'=>'My application', 'basePath'=>'./protected')
initialise les propriétés name
et basePath
à leurs valeurs de tableau correspondantes.
Toute propriété inscriptible de la classe peut être configurée. Si elles ne sont pas configurées, les propriétés utiliseront leurs valeurs par défaut. Lors de la configuration d'une propriété, c'est une bonne idée de lire la documentation pour s'assurer que les valeurs initiales sont correctes.
La convention de dénomination et d'utilisation des fichiers dépend de leur type.
Les fichiers de classe doivent être nommés d'après les classes publiques qu'ils contiennent. Par exemple, la classe CController se trouve dans le fichier CController.php
. Une classe publique est une classe qui peut être utilisée par n’importe quelle autre classe. Chaque fichier de classe doit contenir au plus une classe publique. Les classes privées (classes qui ne peuvent être utilisées que par une seule classe publique) peuvent être placées dans le même fichier que la classe publique qui les utilise.
Les fichiers de vue doivent être nommés d'après la vue. Par exemple, la vue index
se trouve dans le fichier index.php
. Un fichier de vue est un fichier de script PHP qui contient le code HTML et PHP utilisé pour restituer le contenu.
Le fichier de configuration peut être nommé arbitrairement. Un fichier de configuration est un script PHP dont le but principal est de renvoyer un tableau associatif qui incarne la configuration.
Yii suppose une série de répertoires par défaut pour différentes situations. Chaque répertoire peut être personnalisé si nécessaire.
WebRoot/protected
: Il s'agit du répertoire de base de l'application, où sont placés tous les scripts PHP et fichiers de données sensibles à la sécurité. Yii a un alias application
par défaut pointant vers ce répertoire. Ce répertoire et les fichiers qu'il contient doivent être protégés contre l'accès des utilisateurs Web. Il peut être personnalisé via CWebApplication :: basePath.
WebRoot/protected/runtime
: Ce répertoire contient les fichiers temporaires privés générés par l'application lors de son exécution. Ce répertoire doit être accessible en écriture par le processus du serveur Web. Il peut être personnalisé via CApplication :: runtimePath.
WebRoot/protected/extensions
: Ce répertoire place toutes les extensions tierces. Il peut être personnalisé via CApplication :: extensionPath.
WebRoot/protected/modules
: Ce répertoire place tous les modules d'application, et chaque module utilise un sous-répertoire.
WebRoot/protected/controllers
: Ce répertoire place tous les fichiers de classe du contrôleur. Il peut être personnalisé via CWebApplication::controllerPath.
WebRoot/protected/views
: Ce répertoire place tous les fichiers de vue, y compris les vues de contrôleur, les vues de disposition et les vues système. Il peut être personnalisé via CWebApplication :: viewPath.
WebRoot/protected/views/ControllerID
: Ce répertoire place les fichiers de vue utilisés dans une seule classe de contrôleur. Le ControllerID
ici fait référence à l’ID du contrôleur. Il peut être personnalisé via CController :: viewPath.
WebRoot/protected/views/layouts
: Ce répertoire place tous les fichiers de vue de mise en page. Il peut être personnalisé via CWebApplication :: layoutPath.
WebRoot/protected/views/system
: Ce répertoire contient tous les fichiers de vue système. Les fichiers de vue système sont des modèles utilisés pour afficher les exceptions et les erreurs. Il peut être personnalisé via CWebApplication :: systemViewPath.
WebRoot/assets
: Ce répertoire contient des fichiers de ressources publiques. Les fichiers de ressources sont des fichiers privés qui peuvent être publiés et accessibles par les utilisateurs Web. Ce répertoire doit être accessible en écriture par le processus du serveur Web. Il peut être personnalisé via CAssetManager::basePath
WebRoot/themes
: Ce répertoire place les différents thèmes utilisés par l'application. Chaque sous-répertoire est une rubrique et le nom de la rubrique est le nom du répertoire. Il peut être personnalisé via CThemeManager :: basePath.
La plupart des applications Web sont pilotées par des bases de données. Pour un temps optimal, nous vous recommandons d'utiliser la convention de dénomination suivante lors de la dénomination des tables et des colonnes. Notez que ces spécifications ne sont pas requises pour Yii.
Les noms des tables de base de données et les noms des colonnes sont nommés en minuscules.
Les mots du nom doivent être séparés par des traits de soulignement (par exemple product_order
).
Pour les noms de tables, vous pouvez utiliser soit le singulier, soit le pluriel. Mais n'utilisez pas les deux en même temps. Pour plus de simplicité, nous vous recommandons d'utiliser des noms au singulier.
Les noms de tables peuvent utiliser un préfixe commun, tel que tbl_
. Ceci est particulièrement utile lorsque la table utilisée par une application coexiste dans la même base de données qu'une table utilisée par une autre application. Les tableaux de ces deux applications peuvent être facilement distingués en utilisant des préfixes de tableau différents.
Ce qui précède est la série 13 du guide officiel du framework Yii - Connaissances de base : spécifications de développement. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn) !