Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成

黄舟
リリース: 2023-03-05 17:26:02
オリジナル
1177 人が閲覧しました

<br>

<br>

Yii を予備的に理解するために、このセクションでは最初の Yii アプリケーションを構築する方法を説明します。 yiic (コマンドラインツール) を使用して新しい Yii アプリケーションを作成します。 Gii (強力な Web ベースのコード ジェネレーター) は、特定のタスクの自動コード生成を完了します。 YiiRoot が Yii のインストール ディレクトリであり、WebRoot がサーバーのドキュメント ルート ディレクトリであると仮定します。 次のようにコマンドラインから yiic を実行します:

% YiiRoot/framework/yiic webapp WebRoot/testdrive
ログイン後にコピー

注: MacOS、Linux、または Unix システムで yiic を実行する場合、実行できるように yiic ファイルの権限を変更する必要がある場合があります。また、ターミナルのコマンド ラインで php コマンドを直接実行できる必要があります (ターミナルで php -v を使用してテストできます)。そうでない場合は、実行可能な php パスをシステム パスに配置する必要があります。さらに、このツールを次のように実行することもできます:

% cd WebRoot
% php YiiRoot/framework/yiic.php webapp testdrive
ログイン後にコピー

これにより、WebRoot/testdrive ディレクトリに基本的な Yii アプリケーションが作成されます。このアプリケーションは、ほとんどの Yii アプリケーションで必要なディレクトリ構造を持っています。 コード行を記述せずに、ブラウザで次の URL にアクセスして、最初の Yii アプリケーションを確認することができます:

http://www.php.cn/
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

ご覧のとおり、このアプリケーションにはホームページ、連絡先ページ、ログイン ページの 3 つのページが含まれています。ホーム ページにはアプリケーションとユーザーのログイン ステータスに関する情報が表示され、連絡先ページにはユーザーが問い合わせを記入して送信するための問い合わせフォームが表示されます。また、ログイン ページではユーザーが最初に認証を行ってから、承認されたコンテンツにアクセスできるようになります。 詳細については、次のスクリーンショットを確認してください:

Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成

以下のツリー図は、アプリケーションのディレクトリ構造を示しています:

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. データベースに接続します

ほとんどの Web アプリケーションはデータベースによって駆動され、私たちのテストアプリも例外ではありません。データベースを使用するには、まずアプリケーションにデータベースへの接続方法を指示する必要があります。アプリケーションの設定ファイル WebRoot/testdrive/protected/config/main.php を次のように変更するだけです:

<br>

return array(
    ......
    'components'=>array(
        ......
        'db'=>array(
            'connectionString'=>'sqlite:protected/data/source.db',
        ),
    ),
    ......
);
ログイン後にコピー

上記のコードは、必要に応じて SQLite データベース WebRoot/testdrive に接続するように Yii アプリケーションに指示します /protected /データ/テストドライブ.db。この SQLite データベースは、作成したアプリケーション フレームワークにすでに含まれていることに注意してください。データベースには tbl_user という名前のテーブルが 1 つだけ含まれています:

<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
);
ログイン後にコピー

MySQL データベースに変更したい場合は、ファイル WebRoot/testdrive/protected/data/schema.mysql.sql をインポートして作成する必要があります。データベース。

注: Yii のデータベース機能を使用するには、PHP の PDO 拡張機能と対応するドライバー拡張機能を有効にする必要があります。テスト アプリケーションでは、php_pdo 拡張機能と php_pdo_sqlite 拡張機能を有効にする必要があります。

2. CRUD 操作を実装します

ここからがエキサイティングな瞬間です。先ほど作成した tbl_user テーブルに対して CRUD (作成、読み取り、更新、削除) 操作を実装したいと考えています。これは実際のアプリケーションで最も一般的な操作でもあります。実際のコードを記述する手間を省き、ここでは強力な Web ベースのコード ジェネレーターである Gii を使用します。

Gii を構成する

Gii を使用するには、まずアプリケーション構成ファイルとして知られるファイル WebRoot/testdrive/protected/main.php を編集する必要があります:

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

    'modules'=>array(
        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'password'=>'pick up a password here',
        ),
    ),
);
ログイン後にコピー

次に、http:// にアクセスします。 www.php.cn/。ここでは、上記の設定で指定したパスワードを入力する必要があります。

ユーザー モデルの生成

ログイン後、モデル ジェネレーターのリンクをクリックします。以下のモデル生成ページが表示されます: Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成

[テーブル名] 入力ボックスに、「tbl_user」と入力します。 [モデル クラス] 入力ボックスに「ユーザー」と入力します。次に、「プレビュー」ボタンをクリックします。これにより、生成される新しいファイルが表示されます。次に、「生成」ボタンをクリックします。 User.php という名前のファイルが protected/models ディレクトリに生成されます。後で説明するように、User モデル クラスを使用すると、オブジェクト指向の方法でデータ テーブル tbl_user にアクセスできます。

CRUD コードを生成する

モデルクラスを作成した後、CRUD 操作を実行するコードを生成します。以下に示すように、Gii で Crud Generator を選択します: Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成

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

访问 CRUD 页面

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

http://www.php.cn/
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

这会显示一个tbl_user表中记录的列表。 点击页面上的Create User 链接,如果没有登录的话我们将被带到Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成。登录后,我们看到一个可供我们添加新用户的表单。完成表单并点击Create按钮,如果有任何输入错误的话,一个友好的错误提示将会显示并阻止我们保存。回到用户列表页,我们应该能看到刚才添加的用户显示在列表中。 重复上述步骤以添加更多用户。注意,如果一页显示的用户条目太多,列表页会自动分页。 如果我们使用admin/admin作为管理员登录,我们可以在如下 URL 查看用户管理页:

http://www.php.cn/
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

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

<br>
ログイン後にコピー

Yii Framework 公式チュートリアル補足 3 - 入門: 最初の Yii アプリケーションの作成

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

<br>

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!