2013-03-30 72 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