zf2でページ要求に関連するさまざまなパラメータを取得するにはどうすればよいですか?投稿/取得パラメータ、アクセスされているルート、送信されたヘッダ、アップロードされたファイルなど。Zend Framework 2でroute、post、getなどのパラメータにアクセスする方法
答えて
これを行う最も簡単な方法は、beta5で導入されたParams pluginを使用することです。さまざまな種類のパラメータに簡単にアクセスできるユーティリティメソッドがあります。いつものように、the testsを読むことは、何かが使われるはずのことを理解する価値があることを証明することができます。
は、コントローラ内の指定されたパラメータの値を取得するには、単一の値を取得し、あなたが探しているパラメータのタイプに適した方法を選択し、名前を渡す必要があります。
例:
$this->params()->fromPost('paramname'); // From POST
$this->params()->fromQuery('paramname'); // From GET
$this->params()->fromRoute('paramname'); // From RouteMatch
$this->params()->fromHeader('paramname'); // From header
$this->params()->fromFiles('paramname'); // From file being uploaded
デフォルト値
これらの方法の全てはまた、与えられた名前を持つパラメータが見つからない場合に返されるデフォルト値をサポートしています。
例:
$orderBy = $this->params()->fromQuery('orderby', 'name');
http://example.com/?orderby=birthdateを訪問し、 $ ORDERBYが値生年月日になります。
http://example.com/を訪問し、 $ ORDERBYはデフォルト値名を持っています。
は一種類のすべてのパラメータを取得するには、すべてのパラメータ
を取得し、ちょうど何も渡していないとし、paramsプラグインは、キーとして自分の名前と値の配列を返します。
例:
$allGetValues = $this->params()->fromQuery(); // empty method call
array(
'orderby' => 'birthdate',
'filter' => 'hasphone',
);
のような配列した場合のparamsプラグイン
を使用していないだろうhttp://example.com/?orderby=birthdate&filter=hasphone$ allGetValuesを訪問Paramsプラグインのsource codeをチェックすると、より一貫性のあるパラメーター取得を可能にするために、他のコントローラーを囲む単なるラッパーであることがわかります。なんらかの理由で直接アクセスする必要がある場合は、ソースコード内でどのように処理されているかを見ることができます。
例:
$this->getRequest()->getRequest('name', 'default');
$this->getEvent()->getRouteMatch()->getParam('name', 'default');
注:あなたはスーパーグローバル$ _GET、$ _POSTなどを使用することもできましたが、それは推奨されません。
たとえば、投稿されたjson文字列を取得する最も簡単な方法は、 'php:// input'の内容を読み込んでデコードすることです。たとえば、私は、単純なZendのルートだった:
'save-json' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'options' => array(
'route' => '/save-json/',
'defaults' => array(
'controller' => 'CDB\Controller\Index',
'action' => 'save-json',
),
),
),
をし、私は角の$ http.postを使用してそれにデータをポストしたかったです。投稿はうまくいったが、Zendの検索方法は
$this->params()->fromPost('paramname');
はこの場合何も得られなかった。 「:// PHP」:
$content = file_get_contents('php://input');
print_r(json_decode($content));
私は最後に私のJSON配列を得たので、私の解決策は、$ _POSTから読み取るために、上記の他の方法のようなメソッドのすべての種類を試した後、でした。 これが役立つことを願っています。
生のPOSTボディが必要な場合は、リクエストオブジェクトのgetContent()を使用してください。コントローラから、次のようにすることができます: '$ content = $ this-> getRequest() - > getContent()' –
ZF2では '?name = mike'の形式でURLパラメータを取得する方法はありますか? – Stephane
require_once 'lib/Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
$loader->registerNamespace('Http\PhpEnvironment', 'lib/Zend/Http');
// Register with spl_autoload:
$loader->register();
$a = new Zend\Http\PhpEnvironment\Request();
print_r($a->getQuery()->get()); exit;
- 1. .htaccess経由でページにGET/POSTパラメータを送信する方法
- 2. Zend Framework 2でACLをロードする簡単な方法は?
- 3. Androidアプリケーションでウェブコンテンツ(POST/GET)にアクセスする方法は?
- 4. GETパラメータにアクセスできない
- 5. Zend Framework 2:Zend \ Translator \ Adapter \ GettextをZend \ View \ Helper \ Translatorに注入する方法
- 6. Zend Frameworkの2、
- 7. Zend Framework 2:コントローラからモジュールのコンフィグレーション値にアクセスするには
- 8. Zend Framework 2(zf2)のビューからApplication Configにアクセスするには?
- 9. Zend Framework 2で生のSQLクエリを実行する方法
- 10. get/post ajaxにパラメータを追加する
- 11. Zend Routeをセットアップして、MVCパラメータの前に追加の 'パラメータ'を使用する方法は?
- 12. Zend Framework 2オートローディング
- 13. Zend Framework 2 LDAP
- 14. Zend Framework 2リダイレクト
- 15. zend framework 2 AuthenticationService
- 16. Zend Framework 2パートルートアセンブリ
- 17. Zend Framework 2コントローラアクションでリダイレクトをテストする方法は?
- 18. Zend Framework 2でページをレンダリングする方法は?
- 19. Zend Framework 2ツールをコンポーザーでインストールする方法
- 20. Zend Framework 2をNetbeans 7.2 IDEに統合する方法
- 21. Zend Framework 2にカスタムビューヘルパーを追加する方法
- 22. Zend Frameworkの2ナビゲーションサブサブメニュー
- 23. Zend Framework 2のMultiSelect
- 24. Zend Frameworkの2 - URL
- 25. Zend PaginatorとRoute
- 26. Zend Routeキャッチオール
- 27. Kohana 3.2 Route :: get
- 28. Yii Framework POSTとGETに似た機能
- 29. Symfony 2 GET/POSTパラメータに沿った転送要求
- 30. カスタムエラーページに送信する方法Zend Framework?
これは完全な質問です。驚くばかり。 – kta