PHP class 类内部调用类外部定义的变量,实现在类中引用外部定义的全局变量。
方法一:通过构造方法传递外部参数到类内部- <?php
- $url = 'http://www.51-n.com/';
-
- class test{
- public $url;
- function __construct($url=''){
- $this->url = $url;
- }
- function showUrl(){
- echo $this->url;
- }
- }
-
- $test = new test($url);
- $test->showUrl();
- ?>
复制代码 方法二:在PHP类方法中使用global关键字直接引用类外部变量- <?php
- $url = 'http://www.51-n.com/';
-
- class test{
- public $url;
- function showUrl(){
- global $url;
- $this->url = $url;
- echo $this->url;
- }
- }
-
- $test = new test($url);
- $test->showUrl();
- ?>
复制代码 方法三:在PHP类方法中直接使用$GLOBALS全局数组引用类外部变量- <?php
- $url = 'http://www.51-n.com/';
-
- class test{
- public $url;
- function showUrl(){
- $this->url = isset($GLOBALS['url'])?$GLOBALS['url']:'';
- echo $this->url;
- }
- }
-
- $test = new test($url);
- $test->showUrl();
- ?>
复制代码 方法四:直接将需要全局使用的变量定义到超全局变量中去,比如$_SERVER.- <?php
- $_SERVER['domain'] = 'wuxiancheng.cn';
-
- class test {
- public function showDomain(){
- echo $_SERVER['domain'];
- }
- }
-
- $test = new test();
-
- $test->showDomain();
- ?>
复制代码 不过,为了安全起见防止变量被意外改变,变量的可用范围应该尽量缩小。 |
|