この記事では、例を通して Symfony2 で開発されたコントローラーの使用法を分析します。参考のために皆さんと共有してください。詳細は次のとおりです。
コントローラーは PHP 関数であり、これを通じて HTTP リクエストに基づいてタスク情報を作成し、HTTP レスポンスを構築して返すことができます。応答には、HTML ページ、XML ドキュメント、シリアル化された JSON 配列、画像、リダイレクト、404 エラーなど、考えられるあらゆるものを含めることができます。コントローラーには、アプリケーションが応答を作成するために必要な抽象ロジックが含まれています。
リクエストを受信し、レスポンスの基本的なライフサイクルを返します
1. 各リクエストは単一のフロントエンド コントローラー (app.php やindex.php など) ファイルによって処理され、フロントエンド コントローラーが責任を負います。フレームワークをガイドするため。
2. リクエスト情報を照合し、呼び出すコントローラーを決定する特定のルートを指定します。
3. コントローラー内のコードが作成され、応答オブジェクトが返されます。 ;
4. HTTP ヘッダーと応答オブジェクト コンテンツがクライアントに返されます。
名前は似ていますが、フロントエンド コントローラーはこの章で説明するコントローラーとは異なります。フロントエンド コントローラーは Web ディレクトリ内の小さな PHP ファイルであり、すべてのリクエストはそれを直接通過します。一般的なアプリケーションには、運用用のフロント コントローラー (app.php など) と開発用のフロント コントローラー (app_dev.php など) があります。フロントコントローラーを編集したり、表示したり、気にしたりする必要はありません。
簡単なコントローラーの作成
前の記事「10 分で Symfony を学ぶための古典的なチュートリアル」ではすでにバンドルの作成方法について説明しましたが、ここではコントローラーを追加する方法について直接説明します。コントローラーは、コントローラー クラス (UserController) に属する infoAction メソッドです。名前に混同しないでください。コントローラー クラスは、単に複数のコントローラーをグループ化しているだけです。通常、コントローラー クラスには複数のコントローラー (updateAction、deleteAction など) が配置されます。
//Symfony2充分利用了PHP5.3的名称空间的功能去为整个控制器类命名空间 namespace ZM\ApiBundle\Controller; //use关键字导入类,是控制器必须返回的 //出于方便的考虑,Symfony2提供了一个Controller基类,以帮助实现常用的一些控制器任务,你的控制器类能够访问所需的资源。通过继承该类,你可以利用其中的一些方法。 use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Request; class UserController extends Controller { /** * 用户个人中心查看 * @return Response */ public function infoAction() { $conn = $this->getDoctrine()->getConnection(); $request = Request::createFromGlobals()->request; $phone = $request->get('phone'); $result = $conn->fetchAssoc("SELECT * FROM user WHERE phone = ? LIMIT 1", array($phone)); //控制器创建并返回一个Response对象 return new Response(json_encode($result), '200', array('Content-Type' => 'application/json')); } }
この記事の永久アドレス: http://blog.it985.com/5916.html
この記事は IT985 ブログからのものです。転載する場合は出典と対応するリンクを明記してください。
PHP フレームワークに関連するさらなるコンテンツに興味のある読者は、このサイトの特別トピック「優れた PHP 開発フレームワークの概要」、「Codeigniter の入門チュートリアル」、「CI (CodeIgniter) フレームワークの高度なチュートリアル」をチェックしてください。 、「Yii フレームワークの紹介と共通の使い方」スキルまとめ」と「ThinkPHP チュートリアル入門」
この記事が皆さんの Symfony フレームワークをベースにした PHP プログラミングのお役に立てれば幸いです。
以上、Symfony2 で開発されたコントローラーの使用例の分析を内容も含めて紹介しましたので、PHP チュートリアルに興味のある友人の参考になれば幸いです。