문제

이것은 아마도 쉽지만 수업을 인쇄/에코하는 방법을 알 수 없어서 그것에 대한 세부 정보를 찾을 수 없습니다.

나는 이것이 효과가 없다는 것을 알고 있지만 이것이 내가하려는 일입니다.

<?php echo $class; ?>

이와 같은 것을 달성하는 올바른 방법은 무엇입니까?

도움이 되었습니까?

해결책

디버깅 목적으로 클래스의 내용을 인쇄하려면 사용하십시오. print_r 또는 var_dump.

다른 팁

추가 시도를 시도 할 수 있습니다 토스트 링 수업에 대한 방법. 그런 다음 유용한 정보를 반영하거나 렌더 메소드를 호출하여 HTML 또는 무언가를 생성 할 수 있습니다!

__toString 방법은 다음과 같은 작업을 수행 할 때 호출됩니다.

echo $class;

또는

$str = (string)$class;

연결된 예제는 다음과 같습니다.

<?php
// Declare a simple class
class TestClass
{
    public $foo;

    public function __construct($foo) {
        $this->foo = $foo;
    }

    public function __toString() {
        return $this->foo;
    }
}

$class = new TestClass('Hello');
echo $class;
?>

수업 인스턴스에 var_dump를 사용하십시오.

<?php
$my_class = new SomeClass();
var_dump( $my_class );
?>

수업에서 더 자세한 정보를 얻으려면 (예를 들어 아동 수업에서 사용할 수 있는지 알고 싶다면) 추가 할 수 있습니다. debug() 방법.

다음은 메소드, 기본 VAR 및 인스턴스 VAR을 잘 구조화 된 방식으로 인스턴스 VAR을 인쇄하는 방법을 사용하는 예제 클래스입니다.

<?php
class TestClass{
    private $privateVar = 'Default private';
    protected $protectedVar = 'Default protected';
    public $publicVar = 'Default public';

    public function __construct(){
        $this->privateVar = 'parent instance';
    }
    public function test(){}
    /**
     * Prints out detailed info of the class and instance.
     */
    public function debug(){
        $class = __CLASS__;
        echo "<pre>$class Methods:\n";
        var_dump(get_class_methods($class));
        echo "\n\n$class Default Vars:\n";
        var_dump(get_class_vars($class));
        echo "\n\n$class Current Vars:\n";
        var_dump($this);
        echo "</pre>";
    }
}

class TestClassChild extends TestClass{
    public function __construct(){
        $this->privateVar = 'child instance';
    }
}

$test = new TestClass();
$test2 = new TestClassChild();

$test->debug();
$test2->debug();

Symfony Vardumper 구성 요소를 사용할 수 있습니다 http://symfony.com/doc/current/components/var_dumper/introduction.html:

작곡가를 통해 설치하십시오.

composer require symfony/var-dumper 

용법:

require __DIR__.'/vendor/autoload.php';

// create a variable, which could be anything!
$someVar = ...;

dump($someVar);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top