2013-03-30 73 views
0

可變我已經功能,說:PHP如何訪問內部功能

//file file1.php 
class p{ 
    function a(){ 
    global$v1;   
    $v1=''; 
    //some processing to $v1 here// 
    return $v1; 
    } 
} 

如何訪問$ V1? (在return $v1 $ V1)

這是我嘗試(在另一個文件中):

//file file2.php 
include 'file1.php'; 
$obj=new p(); 
$print=$obj->a()->$v1; 
echo $print; 

爲什麼它不顯示任何信息?

+1

首先,$ V1是__not__ P()的屬性,所以試圖用流利的接口訪問$ V1財產是沒有意義的 –

+0

其次,你有$ V1作爲一個全球性的,所以爲什麼不簡單地'echo $ v1;' –

+1

第三,瞭解一下OOP –

回答

1
class p{ 
    function a($v1){ 
      ///some processing to $v1 here// 
      return $v1; 
     } 
    } 

然後將您的變量作爲參數傳遞給您的函數。

//file file2.php 
$v1 = 'Test'; 

require 'file1.php'; 
$obj=new p(); 
$print=$obj->a($v1); 
echo $print; 
+0

不錯,謝謝@Adrian – user2192076

0
<?php 
//file file1.php 
class p{ 
    protected $v1; 

    public function setP($v1){ 
    $this->v1 = $v1; 
    } 

    public function getP(){ 

    $this->setP(''); 
    ///some processing to $v1 here// 
    return $this->v1; 
    } 
} 

$obj = new p(); 
$print = $obj->getP(); 
echo $print; 
?> 
+0

嗨@Arvind – user2192076