我需要在php中打印一个字段

时间:2014-06-16 07:37:55

标签: php arrays json

这是代码。并有一个名为test的私人领域。

<?php
    class Boo { 
        private $test = array( 123, '456'); 
        function __construct($x,$y){ 
            $opts = array( 
                'http'=>array( 'header' => 'Connection: close')
            ); 
        $context = stream_context_create($opts); 
            $this->test = file_get_contents('http://localhost/y.php?a='.$x.'&b='.$y, false, $context); 
        } 

        public static function Boo($x,$y) { 
            return json_encode(array($y, $x+$y)); 
        } 


    } 

    if(isset($_REQUEST['a'])){ 
        print Boo::Boo($_GET['a'],$_GET['b']); 
    } 
    else { 
        // print (new Boo(11,12)); 
    } 

?> 

我只能编写一个函数来打印$test值而不做任何修改 想法?

2 个答案:

答案 0 :(得分:0)

要访问私有媒体资源,您必须在班级中编写getter方法。

public function getTest() {
    return $this->test;
}

然后你可以像这样调用getter方法:

$myObj = new Boo();
var_dump($myObj->getTest());

如果您不想编写getter方法,则必须将属性的可访问性设置为public才能在类范围之外访问它。

但我认为你在课堂上混淆了静态和非静态内容。

Btw类方法应该从小写开始。

答案 1 :(得分:0)

简短回答:你不能。

它是私人的,因此无法从课外访问。从内部你可以随时访问它,但你需要一个吸气剂将它带到公众面前。