Yii Framework のチュートリアルは中国語の公式ドキュメントにありますが、なぜこの開発チュートリアルを作成するのでしょうか? このチュートリアルの目的は、Windows デスクトップ アプリケーションまたは ASP.NET プログラマが、さまざまな観点 (主に C++ および C# プログラマで Windows アプリケーションを開発する観点) を通じて PHPYii Framework アプリケーション フレームワークを迅速に習得できるようにすることです。 PHP を使用して Web アプリケーションを開発する重要な利点は、通常 Windows オペレーティング システムにのみ適用できる Asp.Net とは異なり、さまざまなオペレーティング システム (Unix、Windows、Mac OS) に適用できることです。 PHP+Apache+MySQL (XMAP/LAMP) を使用すると、世界中のほぼすべての無敵のプレイヤーを倒すことができます :-)。
このチュートリアルで使用するオペレーティング システムは Windows で、開発 IDE は VS.PHP です。この開発環境が使用される理由は、VS.PHP が Visual Studio 開発者に馴染みのある Visual Studio を IDE として使用しているためです。また、C# アプリケーションと PHP アプリケーションの開発とデバッグを同時に行うために使用できます。 Yii Framework 自体は IDE とは何の関係もありません。お気に入りの PHP 開発ツールを使用して Yii アプリケーション (Eclipse など) を開発できます。 VS.PHP の概要については、「VS.PHP + YiiFramework の組み合わせによる PHP アプリケーションの開発」を参照してください。このチュートリアルの Yii Framework に関する知識は、IDE の開発とは関係ありません。好みの開発環境を選択できます。
最初のアプリケーションを作成する前に、Yii 開発パッケージをダウンロードする必要があります。Yii の Web サイト http://www.yiiframework.com/download/ からダウンロードできます。ダウンロード後、解凍します。便宜上、C: ルート ディレクトリに解凍してください:
VS.PHP を使用するもう 1 つの利点は、Apache Web サーバーが付属しているため、それを行う必要がないことです。 XAMP (Apache+MySQL+PHP) をインストールすることもできますが、MySQL を使用する必要がある場合は、MySQL を別途インストールする必要があります。
Yii Framework をインストールした後、VS.PHP を使用して最初の PHP アプリケーションを作成します。こんにちは世界。
VS.PHP HelloWorld プロジェクトを作成し、index.php ファイルを追加します。
この時点で、index.php を
<?php print "Hello, World!"; ?>
<?php print "Hello, World!"; ?>
VTestdrive/
Index.php Web アプリケーション インレット スクリプト ファイル
Index-test.php 関数テスト
アセット/ 開いているリソース ファイルを含む
CSS/ CSS ファイルを含む
画像ファイルを含む
アプリケーションのテーマを含む Protect/ 保護されたアプリケーション ファイルが含まれる
YiIC YIICコマンドラインスクリプト
yiic.bat yiic コマンドラインスクリプトの下のウィンドウ
yiic.php yiic コマンドライン
カスタム 'yiic' コマンドを含むコマンド
Shell/ カスタマイズされた 'yiic シェル' コマンドが含まれる
Components/ 再利用可能なユーザーコンポーネントが含まれる
Controller.phpすべてのコントローラー クラスのすべてのコントローラー クラス
「Identity」クラスの認証に使用される Identity.php
Config/ 構成ファイルを含む
Console.php コンソール アプリケーションの構成
main.php Web アプリケーションの構成
test.php 機能テストに使用される構成
コントローラー/ コントローラーを含むクラスファイル
SiteController .php デフォルトのコントローラークラスファイル
data/ サンプルデータベースが含まれます
schema.mysql .sql サンプル MySQL データベース
schema.sqlite.sql サンプル SQLite データベース
test drive.db サンプル SQLite データベース ファイル
extensions/ が含まれますサードパーティの拡張機能
messages/ 翻訳されたメッセージが含まれます
Models/ モデルを含むクラスファイル
LoginForm.php 'ログイン' アクションのフォーム モデル ContactForm.php 'contact' アクションのフォーム モデル
runtime/ 一時的に生成されたファイルが含まれます
use using using using out''''''''''''' ‐ ‐ ‐‐‐‐‐‐, コントローラのビューおよびレイアウト ファイルが含まれます
レイアウト/ Conレイアウトビューファイルを保持します
Main.php すべてのビューのデフォルトのレイアウト
Column1.PHP シングルカラムページで使用されるレイアウト
Column2.PHP デュアルカラムページのレイアウト
SITE/ 「Site」コントローラーを含むビューファイル
Pages/ 「静的」ページが含まれるP about.php の「概要」ページのビュー
Contact.php 'contact' アクション ビュー
error.php 'error' アクション ビュー (外部エラーを表示)
sendex.php 'index' アクション
login.php ' のビューログインアクション
system/ システムビューファイルが含まれます
这个目录结构可以通过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)!