平成30/ 2018-10-23 19:48
PHP/ グローバル変数、スーパーグローバル

スーパーグローバルだと、function内でも宣言なく使える。
$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
しかし、
それぞれ役割があるので、
これらを利用するのは控えたい。
利用できそうな
-
_SESSION
でも、
他ページで利用できるようにローカルサーバに記録する役割がある。
他ページで利用しないのであれば使わない方が混乱起こさない。
また、
WEBでなくコマンドでの実行であれば、
警告でるかもしれない。(試していない)
-
それよりは、
Classで宣言したグローバルな変数を利用した方が安全だと思う。



>>
global ... の宣言が面倒な場合は以下。

function abc(){
    //global $companysProperty;
    //global $forms;
    //global $recruitsProperty;

    foreach($GLOBALS as $key => $val){
        ${$key} = $val;
    }
}



>> Thanks.
$GLOBALS
http://php.net/manual/ja/reserved.variables.globals.php
-
スーパーグローバル
http://www.php.net/manual/ja/language.variables.superglobals.php