class a
{
    function __construct()
    {
            return 'abc';
     }
}可以吗?

解决方案 »

  1.   

    你可以这么写,但new后得到的仍是这个类的对象
      

  2.   

    你为什么要这么用呢??你想让有个函数返回abc 只需要再写一个 调用一次就行了呗
      

  3.   

    不可以!
    构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.
    可以参考以下链接来看下php中function __construct跟function construct的区别
    http://wenda.tianya.cn/wenda/thread?tid=05d8b8b72ed65fff
      

  4.   

    想在构造函数中得到或返回一些值是不行的,不过写一个与类名同名的函数可以实现此目地。
     class abc
    {
      public $var1;
      public $var2;
       private function abc($var1,$var2)
       {
         $this->var1=$var1;
         $this->var2=$var2;
       }
    }
    ......
    ......
    $abc=new abc(123,'abc');
    var_dump($abc);
      

  5.   


    不过写一个与类名同名的函数可以实现此目地
    神马意思???
    与类名同名的函数不就是构造函数吗??你见过 new一个对象返回的是其它类型的值吧??new是返回一个对象的,所以,构造函数不论你手动返回什么,都是一个object。