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

推薦する

hostgator-60% オフ/VPS 最低 $8/仮想ホスト/リセラー/サーバー

Hostgator、新年中全品40%オフ、残り1日間有効、公式サイトにイベントタイマーあり。 Hos...

クラウド コンピューティング サービス プロバイダーは、どのような無料サービスを段階的に提供していくのでしょうか?

世界があらゆる面でコロナウイルス危機に取り組んでいる中、世界中のクラウド コンピューティング サービ...

ftlcloud: 香港/米国、専用物理サーバー、200 元、2*e5-2630/32g メモリ/240gSSD+900G HDD、香港で 10M 帯域幅/米国で 30M 帯域幅、無制限トラフィック

ftlcloudは現在、米国と香港のデータセンターの独立サーバーでスーパーセールプロモーションを実施...

ユーザーエクスペリエンスはSEOの永遠の命題である

昨日の午後、Baidu アルゴリズムが再び更新されたというニュースを、SEO 業界の多くの友人が受け...

トップクラスのマネージドクラウドサービスプロバイダーの選び方

マネージド クラウド サービス プロバイダー (MCSP) は通常、顧客のクラウド プラットフォーム...

アリババが自社開発チップをリリース 張勇:優れた技術をオープンに共有し、誰もが恩恵を受けられるようにする

10月19日、2021年雲斉会議が杭州で開幕した。アリババグループの張勇会長兼最高経営責任者(CEO...

SEO実践コード学習体験(パート1)

私は1年間SEOを勉強し、いくつかの基本的な概念を習得しました。私は常にSEOの専門家だと思っていま...

hiformance: ハロウィーン、すべての VPS が 25% オフ、1G メモリ VPS が年間 5.62 ドルから

新年ももうすぐ終わりです。Hiformance ではハロウィン プロモーションを実施しています。Hi...

IDC: 自動車クラウド市場は2027年に600億人民元を超える

5月22日、国際データコーポレーション(IDC)がこのほど発表した「中国自動車クラウド市場(2022...

タオバオの技術開発レビュー(第3部):Oracle/Alipay/Wangwang

オラクル/アリペイ/ワンワン  タオバオは個人のウェブサイトとしてはそれほど長い歴史はありません。し...

約200のAWSサービスの中で、以下の4つは著しく過小評価されている

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

perfectip $39.99 サーバー/E5520/12G メモリ/500G ハードディスク/100M 無制限

perfectip は特別価格のサーバーを立ち上げましたが、これは構成の面で絶対にお金に見合う価値が...

クラウド回帰が主に希望的観測である理由

クラウドコンピューティングの今後はどうなるのでしょうか?現在、クラウド移行の成功事例はますます増えて...

クラウドコンピューティングは急成長しており、中小企業は恩恵を受けるだろう

まず、クラウド コンピューティングの基本的な定義をご紹介します。クラウド コンピューティングは、イン...