Maison  >  Article  >  développement back-end  >  Supplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application Yii

Supplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application Yii

黄舟
黄舟original
2017-02-11 09:27:511220parcourir

<br>

<br>

Afin d'avoir une compréhension préliminaire de Yii, nous décrirons dans cette section comment construire la première application Yii. Nous allons créer une nouvelle application Yii en utilisant yiic (outil de ligne de commande). Gii (un puissant générateur de code basé sur le Web) réalise la génération automatique de code pour des tâches spécifiques. Supposons que YiiRoot soit le répertoire d'installation de Yii et que WebRoot soit le répertoire racine des documents du serveur. Exécutez yiic sur la ligne de commande comme suit :

% YiiRoot/framework/yiic webapp WebRoot/testdrive

Remarque : Lors de l'exécution de yiic sur des systèmes MacOS, Linux ou Unix, vous devrez peut-être modifier les autorisations de yiic fichier pour lui permettre de s’exécuter. Et vous devez pouvoir exécuter directement la commande php dans la ligne de commande du terminal (vous pouvez utiliser php -v dans le terminal pour tester). Sinon, vous devez placer le chemin exécutable php dans le chemin système. De plus, vous pouvez également exécuter cet outil comme ceci :

% cd WebRoot
% php YiiRoot/framework/yiic.php webapp testdrive

Cela créera une application Yii de base dans le répertoire WebRoot/testdrive. Cette application possède la structure de répertoires requise par la plupart des applications Yii. Sans écrire une ligne de code, nous pouvons accéder à l'URL suivante dans le navigateur pour jeter un œil à notre première application Yii :

http://www.php.cn/

Comme on peut le voir, cette application contient trois pages : page d'accueil, page de contact , page de connexion. La page d'accueil affiche des informations sur l'application et le statut de connexion de l'utilisateur, la page de contact affiche un formulaire de contact permettant aux utilisateurs de remplir et de soumettre leurs demandes, et la page de connexion permet aux utilisateurs de s'authentifier d'abord, puis d'accéder au contenu autorisé. Consultez les captures d'écran suivantes pour en savoir plus :

Supplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application YiiSupplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application YiiSupplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application YiiSupplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application YiiSupplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application Yii

L'arborescence ci-dessous décrit la structure des répertoires de notre application :

testdrive/
   index.php                 Web 应用入口脚本文件
   index-test.php            功能测试使用的入口脚本文件
   assets/                   包含公开的资源文件
   css/                      包含 CSS 文件
   images/                   包含图片文件
   themes/                   包含应用主题
   protected/                包含受保护的应用文件
      yiic                   yiic 命令行脚本
      yiic.bat               Windows 下的 yiic 命令行脚本
      yiic.php               yiic 命令行 PHP 脚本
      commands/              包含自定义的 'yiic' 命令
         shell/              包含自定义的 'yiic shell' 命令
      components/            包含可重用的用户组件
         Controller.php      所有控制器类的基础类
         Identity.php        用来认证的 'Identity' 类
      config/                包含配置文件 console.php         控制台应用配置
         main.php            Web 应用配置
         test.php            功能测试使用的配置
      controllers/           包含控制器的类文件
         SiteController.php  默认控制器的类文件
      data/                  包含示例数据库 schema.mysql.sql    示例 MySQL 数据库
         schema.sqlite.sql   示例 SQLite 数据库
         testdrive.db        示例 SQLite 数据库文件
      extensions/            包含第三方扩展
      messages/              包含翻译过的消息
      models/                包含模型的类文件
         LoginForm.php       'login' 动作的表单模型
         ContactForm.php     'contact' 动作的表单模型
      runtime/               包含临时生成的文件
      tests/                 包含测试脚本
      views/                 包含控制器的视图和布局文件
         layouts/            包含布局视图文件
            main.php         所有视图的默认布局
            column1.php      使用单列页面使用的布局
            column2.php      使用双列的页面使用的布局
         site/               包含 'site' 控制器的视图文件
            pages/           包含 "静态" 页面
               about.php     "about" 页面的视图
            contact.php      'contact' 动作的视图
            error.php        'error' 动作的视图(显示外部错误)
            index.php        'index' 动作的视图
            login.php        'login' 动作的视图
         system/             包含系统视图文件

1. Connectez-vous à la base de données

La plupart des applications Web sont pilotées par des bases de données, et notre application de test ne fait pas exception. Pour utiliser la base de données, nous devons d'abord indiquer à l'application comment s'y connecter. Modifiez simplement le fichier de configuration de l'application WebRoot/testdrive/protected/config/main.php comme suit :

<br>

return array(
    ......
    'components'=>array(
        ......
        'db'=>array(
            'connectionString'=>'sqlite:protected/data/source.db',
        ),
    ),
    ......
);

Le code ci-dessus indique à l'application Yii de se connecter à la base de données SQLite WebRoot/testdrive/protected/data/testdrive.db si nécessaire. Notez que cette base de données SQLite est déjà incluse dans le framework d'application que nous avons créé. La base de données ne contient qu'une seule table nommée tbl_user :

<br>

CREATE TABLE tbl_user (
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    username VARCHAR(128) NOT NULL,
    password VARCHAR(128) NOT NULL,
    email VARCHAR(128) NOT NULL
);

Si vous souhaitez passer à une base de données MySQL, vous vous devez importer le fichier WebRoot/testdrive/protected/data/schema.mysql.sql pour créer la base de données.

Remarque : Pour utiliser la fonction de base de données de Yii, nous devons activer l'extension PDO de PHP et l'extension de pilote correspondante. Pour l'application de test, nous devons activer les extensions php_pdo et php_pdo_sqlite.

2. Implémenter les opérations CRUD

Le moment passionnant est là. Nous souhaitons implémenter les opérations CRUD (créer, lire, mettre à jour et supprimer) pour la table tbl_user que nous venons de créer, qui sont également les opérations les plus courantes dans les applications pratiques. Sans nous donner la peine d'écrire du code réel, nous utiliserons ici Gii - un puissant générateur de code basé sur le Web.

Configurer Gii

Pour utiliser Gii, vous devez d'abord modifier le fichier WebRoot/testdrive/protected/main.php, connu sous le nom de configuration de l'application. fichier :

return array(
    ......
    'import'=>array(
        'application.models.*',
        'application.components.*',
    ),

    'modules'=>array(
        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'password'=>'pick up a password here',
        ),
    ),
);

Ensuite, visitez http://www.php.cn/. Ici, nous devons entrer le mot de passe que nous avons spécifié dans la configuration ci-dessus.

Générer un modèle utilisateur

Après vous être connecté, cliquez sur le lien Générateur de modèles. Il affichera la page de génération de modèle suivante : Supplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application Yii

Dans la zone de saisie Nom de la table, saisissez tbl_user. Dans la zone de saisie Classe de modèle, saisissez Utilisateur. Cliquez ensuite sur le bouton Aperçu. Cela affichera le nouveau fichier qui sera généré. Cliquez maintenant sur le bouton Générer. Un fichier nommé User.php sera généré dans le répertoire protected/models. Comme nous le décrivons plus tard, la classe de modèle User nous permet d'accéder à la table de données tbl_user de manière orientée objet.

Génération du code CRUD

Après avoir créé la classe de modèle, nous générerons le code qui effectue les opérations CRUD. Nous choisissons le Crud Generator dans Gii, comme indiqué ci-dessous : Supplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application Yii

在Model Class输入框中,输入User。在Controller ID输入框中,输入user(小写格式)。现在点击Generate按钮后的 Preview按钮。CRUD 代码生成完成了。

访问 CRUD 页面

让我们看看成果,访问如下 URL:

http://www.php.cn/

这会显示一个tbl_user表中记录的列表。 点击页面上的Create User 链接,如果没有登录的话我们将被带到Supplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application Yii。登录后,我们看到一个可供我们添加新用户的表单。完成表单并点击Create按钮,如果有任何输入错误的话,一个友好的错误提示将会显示并阻止我们保存。回到用户列表页,我们应该能看到刚才添加的用户显示在列表中。 重复上述步骤以添加更多用户。注意,如果一页显示的用户条目太多,列表页会自动分页。 如果我们使用admin/admin作为管理员登录,我们可以在如下 URL 查看用户管理页:

http://www.php.cn/

这会显示一个包含用户条目的漂亮表格。我们可以点击表头的单元格来对相应的列进行排序,而且它和列表页一样会自动分页。 实现所有这些功能不要我们编写一行代码!

<br>

Supplément 3 du didacticiel officiel Yii Framework - Pour commencer : création de la première application Yii

以上就是Yii框架官方教程增补篇3——开始:创建第一个Yii应用的内容,更多相关内容请关注PHP中文网(www.php.cn)!

<br>

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