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

推薦する

Baiduの外部最適化を行う方法についての考察

ウェブサイト運営の最適化のプロセスにおいて、Baidu の検索エンジン最適化は間違いなく最大の市場シ...

高構成の推奨: hostus-7$/3IP/3g メモリ/3gvSwap/150g ハードディスク/5T トラフィック

英国スコットランドに正式登録されているHostusは、2018年に急成長を遂げたVPSプロバイダーで...

KubeSphere Enterprise Edition 3.3はデジタル運用機能を強化し、顧客の「成果と最適化への欲求」の問題を解決します

IDC は、2025 年までに中国のトップ 500 社の半数以上がソフトウェア プロバイダーになり、...

ウェブサイト構築の初心者が犯しがちな間違いの簡単な分析

最近の若者は皆、ウェブサイトを通じて初めての大金を稼ぐことを望んでいます。しかし、彼らはその背後にあ...

おすすめのウェブサイト: loveyourlarder ユニークな食品ウェブサイト

「ユーザーが新しい食品を発見し、購入できるようにする」ことが、loveyourlarder ウェブサ...

2019 年のクラウド コンピューティングの現状

現在のテクノロジーの新しいトレンドに対する理解が不足していることに懸念や不満を感じている人もいます。...

贛州SEO最適化市場分析

贛州市は江西省で2番目に大きな都市であり、1つの区、2つの市、15の県を管轄しています。贛州市の主要...

Baidu と Google の登録を高速化するためのヒント

1. ウェブサイトの初期コンテンツがオリジナルであることを確認してください。つまり、インターネット上...

iPaaS とは何ですか?データフローを統合して新しいサービスを作成する

[[412461]] [51CTO.com クイック翻訳] iPaaS (Integration P...

bluevm-1g メモリ/50g ハードディスク/2T トラフィック/年間 39 ドル

bluevm] は、目立たない会社という印象を与えます。その中核となるコンセプトは、低価格で高品質の...

SEO最適化には「4段階」の最適化戦略の実装が必要です

歴史を通じて、勝者は王であり、敗者は盗賊である。項羽は皇帝としての気風はあったものの、劉邦のような戦...

6.28 Baidu Kステーションから学んだ教訓と経験

フォーラムのほとんどの人が、Baidu の 6.28K サイトのブラック ストームを経験したと思いま...

電子商取引時代の代替アプローチ:ファンがいてこそ未来がある

まず、電子商取引の概念、つまり 3 つのステップについてお話しします。電子商取引1.0の時代は、検索...

検索エンジンアルゴリズムの4つの主要要素の分析

検索エンジンのアルゴリズムは機密事項であり、日々調整されていると言われていますが、詳細は誰も知りませ...

七星宝CEO陳青山:AI + ビッグデータ、新たな金融エコシステムを創造

ここ数年、金融、ヘルスケア、セキュリティ、不動産、教育、商業などの分野における人工知能(AI)の導入...