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 ドメイン名解決と負荷分散をどのように実装するのでしょうか?

推薦する

フックを使用して JVM を正常にシャットダウンするにはどうすればよいですか?

[[390011]]序文1. 基本的な概要プログラムの起動は非常に簡単で、通常は起動時にいくつかのリ...

ウェブサイトの基本的な最適化にはどのような詳細が含まれますか?

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

speedypageはどうですか?日本のVPSの簡単なレビュー、通信ユーザーには適していません

speedypageはどうですか? speedypageの日本のVPSはいかがでしょうか? Spee...

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

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

クラウド コンピューティング ロードマップを構築するためのベスト プラクティス

クラウド コンピューティング ロードマップとは何ですか?なぜそれを持つことが重要なのでしょうか?これ...

ハイブリッドおよびマルチクラウドネットワークの設計と構成方法を再考する時期が来ています

[[344562]] [51CTO.com クイック翻訳] 多くの企業は、流行の発生前からすでにクラ...

112 の新しいドメイン名拡張子が登録可能になりました。今すぐお気に入りのドメイン名を登録しましょう!

既存の一般的なドメイン名サフィックスを持つ多くの優れたドメイン名がすでに登録されていますか?気に入っ...

virmach: KVM 仮想 VPS は年間 5 ドルから、複数の部屋レベルが利用可能/Alipay

virmach の前回の大きなプロモーションがいつだったか覚えていません。8 月に、virmach ...

社内SEOトレーニングプラン

5月19日、筆者は「社内SEO研修についてお話しましょう」というタイトルの記事を書きました。この記事...

gcorelabs: インドの VPS、月額 4.99 ユーロ、KVM/512M メモリ/1 コア/20g SSD/500g トラフィック、PayPal/Alipay

インドの VPS は、アジア市場で依然として非常に重要です。有名なサーバー商人である gcorela...

誰もがオンラインでお金を稼ぐのに適しているわけではなく、ウェブサイトを構築するのはそれほど簡単ではありません - A5 Webmaster Network

この記事は、私自身のネットで稼ぐ経験をまとめたものです。よく考えてみると、ネットで稼ぐということに気...

プロバイダーサービス - 1g メモリ/30g SSD/月額支払い 2.94 ユーロ

Providerservice は時代の流れに遅れずについていっており、遅れるわけにはいきません。同...

ウェブマスターは、ユーザーの心をつかむために、ユーザーの欲求に応えることを学ばなければなりません。

SEO 最適化を行う多くのウェブマスターは、ウェブサイトの品質を向上させ、ウェブサイトをより良く運営...

Google ウェブマスターガイドラインの更新

Google は最近、検索への投資を増やしているようです。ここ数か月で、パーソナライズ検索とユニバー...

貿易企業のためのインターネットマーケティングの実施方法

インターネットマーケティングについて言えば、この記事をご覧になった多くの友人は、ある程度理解している...