定义了一个类class myclass
{
   function test()
      echo "good";
}
$test1="myclass";
$test2=new myclass();
都是把类赋值给变量,那这两种赋值方法有什么差别?

解决方案 »

  1.   

    $test1只是字符串
    $test2是类的实例,是个对象
    对两者gettype()可以看出区别
      

  2.   

    <?php
    class MyClassq
    {
        const constant = 'constant value';    function showConstant() {
            echo  self::constant . "\n";
        }
    }echo MyClassq::constant . "\n";$classname = "MyClassq";echo $classname::constant . "\n"; // PHP 5.3.0之后$class = new MyClassq();
    $class->showConstant();echo $class::constant."\n"; // PHP 5.3.0之后
    ?> 上面说的$test1 的确是字符串,echo $classname::constant . "\n";为什么能访问到类里面的内容?