2012-04-14 12 views
3

PHPのウェブサイトのページで、グローバルが5.4.0で償却されると言いました。 MyFormPostは$ _POST ['MyFormPost']と$ _GET ['MyFormPost']のグローバル変数ですが、私たちのウェブサイトが5.4.0で償却されたと見なされるように開発されたかどうかは疑問です。PHP 5.4.0 - グローバルの登録をお控えください

私たちは以下の内容が掲載されているクラスを持っており、私たちのアプリケーションを通じてすべての共通クラスにアクセスすることができます。したがって、他のクラスやファイルで使用しているモバイルデバイスを見るためにBrowser Informationにアクセスするには、$ gb-> BrowserData-> get_MobileDevice()を呼び出します。サイトの構築方法を切り替える必要がありますか?

$gb = new GlobalData; 

global $BrowserData; 
$BrowserData = new BrowserType(); 

if ($gb->BrowserData->get_MobileDevice()=='iPhone') { 

} 

register_globalsが何であるかではありませんGlobalData.class.php

<?php 
class GlobalData { 
     public function __get($name) { 
      if (isset($GLOBALS[$name])) 
       return $GLOBALS[$name]; 
     } 
} 
?> 

答えて

3

。あなたは心配する必要はありません。 PHP 4.2以降はデフォルトではオフになっていますが、削除される頃です。 Here's a description of what register_globals actually does - 基本的にすべてのリクエスト変数をグローバル変数にスローします。 A 非常に悪い考え。

私はまだglobal $somevariable;を使用することをお勧めしますが、使用している種類のクラスではなく、現在のスコープにグローバル変数を持ち込むことができます。

関連する問題