Les didacticiels Yii Framework peuvent être trouvés dans la documentation officielle chinoise, alors pourquoi écrire ce didacticiel de développement ? Le but de ce didacticiel est d'aider les programmeurs d'applications de bureau Windows ou ASP.NET à maîtriser rapidement le framework d'application PHPYii Framework à travers différentes perspectives (principalement à travers la perspective du développement d'applications Windows chez les programmeurs C et C#). Un avantage important de l'utilisation de PHP pour développer des applications Web est qu'il peut être appliqué à différents systèmes d'exploitation (Unix, Windows, Mac OS), contrairement à Asp.Net, qui ne peut généralement être appliqué qu'aux systèmes d'exploitation Windows. En utilisant PHP Apache MySQL (XMAP/LAMP), vous pouvez vaincre presque tous les joueurs invincibles du monde :-).
Le système d'exploitation utilisé dans ce didacticiel est Windows et l'IDE de développement est VS.PHP. La raison pour laquelle cet environnement de développement est utilisé est que VS.PHP utilise Visual Studio comme IDE, ce qui est familier à Visual. Développeurs de studios. Et il peut être utilisé pour développer et déboguer des applications C# et PHP en même temps. Yii Framework lui-même n'a rien à voir avec l'IDE. Vous pouvez utiliser vos outils de développement PHP préférés pour développer des applications Yii (telles que Eclipse). Pour une introduction à VS.PHP, veuillez consulter Développement combiné VS.PHP YiiFramework d'applications PHP. Les connaissances sur Yii Framework contenues dans ce didacticiel n'ont rien à voir avec le développement d'IDE. Elles peuvent être appliquées à différents environnements de développement. Vous pouvez choisir l'environnement de développement que vous aimez.
Avant de créer la première application, vous devez télécharger le package de développement Yii. Vous pouvez le télécharger depuis le site Web Yii http://www.yiiframework.com/download/. Après le téléchargement, décompressez-le directement dans le répertoire racine C: pour plus de commodité :
Un autre avantage de l'utilisation de VS.PHP est qu'il est livré avec le serveur Web Apache, il n'est donc pas nécessaire de l'installer séparément. Vous pouvez également installer XAMP (Apache MySQL PHP), mais si vous devez utiliser MySQL, vous devez installer MySQL séparément
Après. En installant Yii Framework, nous utiliserons VS.PHP pour créer la première application PHP, Hello World.
VS.PHP Créez le projet HelloWorld et ajoutez un fichier index.php.
À ce moment, modifiez index.php en
<?php print "Hello, World!"; ?>
<?php print "Hello, World!"; ?>
Appuyez sur F5 pour exécuter le programme, VS.PHP ouvrira le navigateur et affichera "Hello, World!". Mais ce n’est pas le cas. Une application Yii ! ! ! , nous n'avons pas utilisé le framework d'application Web Yii, Yii Framework est un pur framework d'application orienté objet. La classe Application de son programme Web est la classe CWebApplication. Et adopte le modèle MVC.
Le diagramme schématique ci-dessus montre la structure statique de l'application Yii
La figure suivante montre le flux de travail typique d'une application Yii lors du traitement des demandes des utilisateurs
L'utilisateur a émis une demande d'accès à l'URL http://www.example.com/index.php?r=post/show&id=1, et le serveur web a réussi à exécuter le script d'entrée index.php pour traiter cette requête.
Le script d'entrée crée une instance d'application et l'exécute.
L'application obtient les détails de la demande de l'utilisateur à partir d'un composant d'application appelé requête.
L'application détermine le contrôleur et l'action demandés à l'aide d'un composant d'application appelé urlManager. Dans cet exemple, le contrôleur est post, qui représente la classe PostController ; l'action est show, dont la signification réelle est déterminée par le contrôleur.
L'application crée une instance du contrôleur demandé pour traiter davantage la demande de l'utilisateur. Le contrôleur détermine que l'action show pointe vers une méthode nommée actionShow dans la classe du contrôleur. Il crée et maintient ensuite les filtres associés à l'action (par exemple, contrôle d'accès, analyse comparative). Si le filtre le permet, l'action sera exécutée.
L'action lit un modèle Post avec l'ID 1 dans la base de données.
L'action restitue une vue nommée show via le modèle Post.
La vue lit et affiche les propriétés du modèle Post.
La vue effectue quelques widgets.
Le résultat du rendu de la vue est inséré dans une mise en page.
L'action termine le rendu de la vue et la présente à l'utilisateur.
L'application Yii elle-même a de nombreuses configurations, telles que le bon contrôleur, si l'action utilise des fichiers journaux, etc. Pour une application simple comme Hello, World, toutes les valeurs par défaut sont utilisées. Le Controller par défaut est SiteController, et l'Action est indexAction C'est à dire, par exemple, si votre site web est www.guidebee.com, si vous utilisez Yii Framework, lorsque l'utilisateur demande www.guidebee.com, la CWebApplication du. L'application Yii créera une instance de classe SiteController et appellera la méthode indexAction de SiteController (équivalente à la méthode principale de Program dans l'application Console C#).
Le projet Yii utilise différents répertoires pour stocker le contrôleur, l'action, la vue, la mise en page, etc. Sa structure de répertoires par défaut est la suivante
testdrive/
index.php Fichier de script d'entrée d'application Web
index-test.php Fichier de script d'entrée utilisé pour les tests fonctionnels
actifs/ Contient des fichiers de ressources publiques
css/ Contient des fichiers CSS 🎜> images/ Contient des fichiers image
thèmes/ Contient des thèmes d'application
protégés/ Contient des fichiers d'application protégés
script de ligne de commande yiic yiic
script de ligne de commande yiic.bat yiic sous Windows
commande yiic.php yiic line Script PHP
Commands/ contient une commande 'yiic' personnalisée
shell/ contient des commandes 'yiic shell' personnalisées
composants/ contient des composants utilisateur réutilisables
Controller .php La classe de base pour toutes les classes de contrôleur
Identity.php La classe 'Identity' utilisée pour l'authentification
config/ Contient le fichier de configuration
console.php Configuration de l'application console
Main.php Configuration de l'application Web
test.php Configuration utilisée pour les tests fonctionnels
contrôleurs/ Contient le fichier de classe du contrôleur
SiteController.php Le fichier de classe du contrôleur par défaut
data/ Contient un exemple de base de données
schema.mysql.sql Exemple de base de données MySQL
schema.sqlite .sql Exemple de base de données SQLite
testdrive.db Exemple de fichier de base de données SQLite
extensions/ Contient des extensions tierces
messages/ Contient des messages traduits
modèles/ Contient le message traduit
modèles/fichier de classe
Modèle de formulaire d'action 'login' LoginForm.php
Modèle de formulaire d'action 'contact' ContactForm.php
runtime/ Contient les fichiers générés temporairement
tests / Contient des scripts de test
vues/ Contient la vue et la mise en page fichiers pour le contrôleur
Contient le fichier de vue de mise en page
main.php La mise en page par défaut pour toutes les vues
Utiliser la mise en page utilisée pour les pages à une seule colonne
column2.php Utiliser double La mise en page des pages de colonnes
Site/ Afficher les fichiers contenant le contrôleur 'Site'
Pages/ contenant la page "Statique"
About.php Page "A propos"
Contact.php 'contact ' La vue de l'action
error.php La vue de l'action « erreur » (affiche les erreurs externes)
index.php '''''''''''''''''''''' -'''''''''- étant''ing to' s-- la vue du action 🎜> système/ Contient les fichiers de vue système
这个目录结构可以通过Yii自带的工具来创建缺省的文件建立第一个 Yii 应用。
对于Hello World项目来说,没有必要这么复杂,我们只需创建 protected \controllers 目录以存放SiteController.php。
每个Yii应用都有的入口脚本,可以理解为C#的Program类。这个 入口脚本大同小异
<?php // 包含Yii引导文件 //require_once(dirname(__FILE__).'/../../framework/yii.php'); $yii='C:/yiiframework/yii.php'; // 发布应用时,去掉下面代码避免产生调试信息 defined('YII_DEBUG') or define('YII_DEBUG',true); require_once($yii); // 创建一个应用实例并执行 Yii::createWebApplication()->run();
<?php // 包含Yii引导文件 //require_once(dirname(__FILE__).'/../../framework/yii.php'); $yii='C:/yiiframework/yii.php'; // 发布应用时,去掉下面代码避免产生调试信息 defined('YII_DEBUG') or define('YII_DEBUG',true); require_once($yii); // 创建一个应用实例并执行 Yii::createWebApplication()->run();
前面说过Yii的缺省Controller为SiteController,缺省Action为actionIndex, 因此HelloWorld的SiteController代码如下
/** * SiteController is the default controller to handle user requests. */ class SiteController extends CController { /** * Index action is the default action in a controller. */ public function actionIndex() { echo 'Hello World'; } }
/** * SiteController is the default controller to handle user requests. */ class SiteController extends CController { /** * Index action is the default action in a controller. */ public function actionIndex() { echo 'Hello World'; } }
此时再运行应用,可以在浏览器中显示“Hello,World”。 目前没有使用MVC模型直接在Controller 使用echo 打印出“Hello,World”, 下面稍微修改一下代码,创建一个简单的View。
View缺省目录为protected 目录下的views 子目录,和Controller类对于,比如SiteController对应到Views目录下的site子目录,和Asp.Net一样,Yii的View(对应到Asp.Net的Page类)也可以使用MasterPage,Yii应用成为Layout,缺省Layout存放在views的layouts 子目录。
修改SiteController的actionIndex 方法,改为:
public function actionIndex() { $this->render("index"); }
public function actionIndex() { $this->render("index"); }
View 视图是一个包含了主要的用户交互元素的PHP脚本.他可以包含PHP语句,但是我们建议这些语句不要去改变数据模型,且最好能够保持其单纯性(单纯作为视图)。为了实现逻辑和界面分离,大段的逻辑应该被放置于控制器或模型中,而不是视图中,视图有一个名字,当渲染(render)时,名字会被用于识别视图脚本文件。
actionIndex 通过render 方法来显示一个View,对应到views->site 目录下的 index.php 。render 缺省使用views ->layouts 下的 main.php 作为 Layout (布局,MasterPage)
布局是一种用来修饰视图的特殊的视图文件.它通常包含了用户界面中通用的一部分视图.例如:布局可以包含header和footer的部分,然后把内容嵌入其间.
......header here......
......footer here......
其中的 $content 则储存了内容视图的渲染结果.
来看一下View是目录下的index.php (View) 代码:
<?php echo "Hello,World!"; ?>
<?php echo "Hello,World!"; ?>
这样就完成了Hello,World的MVC模型,运行显示“Hello,World”。
以上就是PHP开发框架Yii Framework教程(1) 第一个应用Hello World的内容,更多相关内容请关注PHP中文网(www.php.cn)!