2.4 「Hello World」を出力する

2.4 「Hello World」を出力する

2.4 「Hello World」を出力する

まず、新しいアプリケーションで「Hello World」プログラムを記述して、フレームワークを試してみましょう。 Yii の「Hello World」プログラムは、ブラウザに情報を送信するシンプルな Web プログラムです。

典型的な Yii Web アプリケーション実行プロセスは、ユーザーがブラウザを通じてリクエストを入力したときに開始されます。 Yii アプリケーションは、まずリクエスト情報を解析し、対応するコントローラを探し、次にコントローラ内のアクション メソッドを呼び出します。アクション メソッドでは、特定のビューをレンダリングし、レンダリングされたコンテンツをユーザーに返すことができます。データ処理が必要な場合、コントローラーはモデルを呼び出して、作成、読み取り、更新、削除 (CRUD) などのデータベース操作を処理できます。

この章の「Hello World」の例では、コントローラーとビューのみが必要であり、データは処理しないため、モデルは必要ありません。次に、コントローラーを作成しましょう。

PHP ファイル名 MessageController.php で新しいコントローラーを作成し、コントローラー ディレクトリ protected/controllers に配置します。新しく作成された MessageController クラスは、protected/components/Controller.php にあるアプリケーションの基本 Controller クラスを継承します。 MessageController クラスはフレームワークの基本クラス Ccontroller を継承するため、Ccontroller クラスのすべてのデフォルトの動作を継承します。 MessageController クラスに actionOutput() アクション メソッドを作成します。次のコードは、MessageController クラスの内容です。

  1. <? php  
  2. MessageControllerクラスはControllerを拡張します
  3. {
  4. パブリック関数actionOutput()
  5. {
  6. $this- >レンダリング('helloWorld');
  7. }
  8. }

ビュー ファイルはコントローラーに関連付けられており、デフォルトでは protected/views/message に保存されます。 protected/views/message/helloWorld.php を編集し、次のコードに変更します。

  1. < h1 >こんにちは、世界! </ h1 >  

コードを保存し、http://hostname/dscms/index.php?r=message/output にアクセスします。このページを図2-12に示します。

図 2-13 に示すように、このアプリケーションを実行するときに Yii フレームワークがどのように分析するかを確認しましょう。

1. ユーザーは http://hostname/index.php?r=message/output へのアクセス要求を送信し、Web サーバーはエントリ スクリプト index.php を実行してこの要求を処理します。

2. エントリ スクリプトはアプリケーション インスタンス オブジェクトを作成し、それを実行します。

3. アプリケーション インスタンス オブジェクトはこの URL を分析します。 controllerID は message であり、これは Yii に、protected/controllers/MessageController.php にある MessageController.php ファイルを要求するように指示します。 Yii は、actionID が出力を指定していることも検出し、MessageController クラスの actionOutput() メソッドを呼び出します。

4. actionOutput() メソッドは、protected/views/message/helloworld.php にある helloworld.php ビュー ファイルをレンダリングします。

5. アクション メソッドはビューのレンダリングを完了し、ブラウザーに返します。

気に入った友達はWeChatアカウントを追加できます:

51CTO 読書チャンネル QR コード


51CTO 読書チャンネル アクティビティ ディスカッション グループ: 365934973

<<:  2.1.2 利点

>>:  分散型のマルチアクティブ データ センターは、DNS ドメイン名解決と負荷分散をどのように実装するのでしょうか?

推薦する

Xiong Zhanghaoの検索インデックスを改善するためのMIP変換の例

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています前回の記事...

gcorelabs: gcorelabs がいかに優れているかを伝える日本 VPS の簡単なレビューです。

ルクセンブルクのマーチャントであるgcorelabsは、世界31の国と地域でVPS、CDN、独立サー...

ダンダンスイング:交通量減少、魅力低下

北京ニュース記者 劉霞当当がNo.1 Storeとの提携を発表してから1か月以上が経過したが、No....

宝月中新小売フォーラム - 企業はどのように新しいマーケティングモデルに変革できるか?

月収10万元の起業の夢を実現するミニプログラム起業支援プラン要約:新しい消費時代と新しいモバイル イ...

678CDN: 50% 割引、アジアの高速/高防御 CDN、CC 防御戦略のカスタマイズ、月額 25 元から、月額 1 元のウェブマスター サポート パッケージ付き

678cdn は主にアジアで CDN サービスを運営しています。デフォルトで高速ノードと大規模な帯域...

草の根ウェブマスターVS運用チームの勝利戦略の分析

インターネットの普及に伴い、人々のオンライン マーケティングに対する意識も深まっています。数年前は、...

Webmaster.com からの毎日のレポート: 大手企業がモバイル インターネットを独占、Baidu が 360 盗作を公証

1. 百度が360の盗作の公証を要求したと言われており、検索結果が似通っているため物議を醸しているサ...

ソフト記事シリーズを継続的に更新してうまくやっていく方法

コンテンツ編集は、詩、散文、議論文など、さまざまな形式、または任意の形式を取ることができます。ソフト...

PyTorch はどのようにしてデータ並列トレーニングを高速化するのでしょうか?分散型チートが明らかに

[[333298]]現在、チップのパフォーマンスの向上は限られているため、分散トレーニングは超大規模...

virpus-7 USD/3か月/512Mメモリ/onappクラウド

この VPS の機能についてお話ししましょう。onapp ベース、XEN 仮想化、データ損失の心配な...

嶼溝徐丹丹:伝統的な採用は衰退しているが、LinkedInは中国で成功できる

網易科技ニュース:先日、Lagou.comの創設者兼会長である徐丹丹氏は、先週土曜日に網易科技「五道...

SEOウェブサイトのページタイトルを最適化する際に注意すべきいくつかの重要なポイント

Jianzi SEO は、ウェブサイトのホームページやコラム ページであっても、ウェブサイトのロング...

ウェブサイトの登録数が増減を繰り返す4つの理由の分析例

最近、多くのウェブマスターが、自分のウェブサイトのインクルード数が一夜にして解放前のレベルに戻ったと...

zji: 香港サーバー (物理マシン)、35% 割引コード、月額 552 元から、オプションのデータセンター: 大埔、葵湾、雲底、連合

zji は 2 月に香港サーバーの大規模なプロモーションを開始しました: (1) 香港大埔と香港葵湾...

w3space: 著作権フリーの VPS/月額 4.97 ドル/ルーマニアの VPS/ハンガリーの VPS

w3space はバングラデシュのホスティング プロバイダーです。2009 年から運営されています。...