PHP: любой сбой?Как заставить `echo $ report` возвращать правильное значение через` class validate`? - PullRequest
0 голосов
/ 10 февраля 2011

Почему echo $report имеет пустое значение?Любой сбой в class validate?

Как заставить его вернуть правильное значение через class validate?

<?php
class validate{
    function status($status){
        header('Location:',true,$status);
        $report="Error: $status";
    }
    function fine(){
        $report='Ok!';
    }
}
$validate=new validate($id);
//$id=0;
$id=(isset($id) ? $id : NULL);
(($id==0) ? $validate->fine() : $validate->status('404'));
echo $report; // Why it has empty value? How to solve it?
?>

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Объявите его как общедоступную переменную в классе, установите его, используя $ this-> report, и отобразите его, используя $ validate-> report.

Пример:

class validate{
    public $report;
    function status($status){
        header('Location:',true,$status);
        $this->report="Error: $status";
    }
    function fine(){
        $this->report='Ok!';
    }
}
0 голосов
/ 10 февраля 2011

$ report - это переменная класса в вашем объекте проверки.echo $report ищет переменную в локальной области, а не ваш объект.Попробуйте echo $validate->report вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...