2017-08-30 4 views
0

私は現在CakePHP Webプロジェクトで作業していますが、いくつかのコーディングを知っていますが、私は間違いなく初心者です。PHP/CakePHP長いオブジェクトから変数を読み込んで取得する

この問題を解決する唯一の方法は、変数を読み込んでHTTP_REFERERから取得することです。

のApp \コントローラ\ EventsControllerオブジェクト([名] =>イベント[ヘルパー] =>アレイ()[リクエスト] =:ここで私は読んでから使用可能な変数を取得しようとしています印刷されたオブジェクトがあります> [_matchedRoute] => /:Cake \ Http \ ServerRequestオブジェクト([params] =>配列([コントローラ] =>イベント[アクション] =>イベントブロック= ([REDIRECT_REDIRECT_TMP] =>)[データ] => Array()[クエリ] => Array()[Cookie] => Array() [_environment:protected] => > /アプリケーション/ AMPPS/tmp [REDIRECT_REDIRECT_STATUS] => 200 [REDIRECT_TMP] => /アプリケーション/ AMPPS/tmp [REDIRECT_STATUS] => 200 [TMP] => /アプリケーション/ AMPPS/tmpに[HTTP_HOST] => localhostを [HTTP_CONNECTION] =>キープアライブ[HTTP_PRAGMA] =>キャッシュなし [HTTP_CACHE_CONTROL] =>キャッシュなし[HTTP_ACCEPT] =>/ [HTTP_X_REQUESTED_WITH] => XMLHttpRequest [HTTP_USER_AGENT] => Mozilla/5.0(Macintosh;インテルのMac OS X 10_11_2)のAppleWebKit/537.36 (KHTML、ヤモリ等)クローム/ 60.0.3112.113サファリ/ 537.36 [HTTP_REFERER] =>http://betpool/events/view/65506 [HTTP_ACCEPT_ENCODING] => GZIP、収縮、BR [HTTP_ACCEPT_LANGUAGE] => デDE/bin /:/ usr/sbin:/ sbin [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache/2.4.25(Unix)PHP/7.0.16 mod_wsgi/4.5.11 Python/3.6 OpenSSL/1.0.1p [SERVER_NAME] =>ローカルホスト[SERVER_ADDR] => :: 1 [SERVER_PORT] => 80 [ REMOTE_ADDR] => :: 1 [DOCUMENT_ROOT] => /アプリケーション/ AMPPS/WWW [REQUEST_SCHEME] =>のhttp [CONTEXT_PREFIX] => [CONTEXT_DOCUMENT_ROOT] => /アプリケーション/ AMPPS/WWW [SERVER_ADMIN] => 管理者@ローカルホスト[SCRIPT_FILENAME] => /アプリケーション/AMPPS/www/betpool/online/betpool/webroot/index.php [REMOTE_PORT] => 51901 [REDIRECT_URL] => /betpool/online/betpool/webroot/events/eventblock [GATEWAY_INTERFACE] => [SCREIPT_NAME] => /betpool/online/betpool CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => [QUERY_STRING] => [REQUEST_URI] => /betpool/online/betpool/events/eventblock [SCRIPT_NAME] => /webroot/index.php [PHP_SELF] => /betpool/online/betpool/webroot/index.php [REQUEST_TIME_FLOAT] => 1504083056です。/ betpool/online/betpool [webroot] =>/betpool/online/betpool/eventpool [base] => [ここ] =>/betpool/online/betpool/events/eventblock [trustProxy] => [_input:protected] => [_detectorCache:protected] =>配列([ajax] => 1 [取得] => 1 Zend \ Diactoros \ PhpInputStreamオブジェクト( [キャッシュ]:Zend \ Diactoros \ PhpInputStream:private] => [到達した:Zend \ Diactoros \ PhpInputStream: Zend \ Diactoros \ Uriオブジェクト( [allowedSchemes:protected] => [リソース:保護] =>リソースID#87 [ストリーム:保護された] => php://入力) =>配列([http] => 80 [https] => 443) [sc Zend \ Diactoros \ Uri:private] => localhost [port:Zend \ Diactoros \ Uri:private] => [ホスト:Zend \ Diactoros \ Uri:プライベート] => Zend \ Diactoros \ Uri:private] => [Zend \ Diactoros \ Uri:private] => [Zend \ Diactoros \ Uri:private] => [セッション:保護された] =>ケーキ\ネットワーク\ _SCLI:protected] =>)[attributes:protected] => Array()[エミュレートされた属性:protected(エミュレートされた属性:プロテクトされた) ] =>配列([0] =>セッション[1] => webroot [ 2] =>ベース[3] => paramsは)uploadedFiles:保護] =>配列 ()プロトコル:保護] => ...

このコードのうちhttp://betpool/events/view/65506を取得することが可能ですもし、これをphp varに保存することができるのでしょうか?

答えて

0

使用しているCakephpのバージョンは言及していませんが、Cakephpには要求を処理するためのメカニズムが組み込まれています。

は、より多くの情報のためのマニュアルに従ってください: https://book.cakephp.org/2.0/en/controllers/request-response.html#CakeRequest::referer

$this->request->referer() 

は、あなたが探している文字列を返す必要があります。

この機能の使用に関するより良いガイダンスのために、コードの一部を共有してください。

+0

ありがとうございました!これは私の問題を完全に解決した –

関連する問題