php的基础问题请教一下
程序员文章站
2022-06-02 14:38:36
...
class Test1 { static private $_name;}$_test1 = new Test1('张三');var_dump($_test1);
页面输出的是:
object(Test1)#1 (0) { }
我实例化的时候还传递了参数,但是Test1的类中我没有写构造方法__construct(),为什么不会报错呢?
回复讨论(解决方案)
构造方法也不是必须的,你传参数进去,它不执行就是了
构造函数已知都在,你不定义只是那个函数为空。
构造方法也不是必须的,你传参数进去,它不执行就是了
基础不怎么牢,麻烦请举个简单的例子可以吗,谢谢!
class Test1 { static private $_name; public $_date; public function __construct() { $this->_date = 123; } }$_test1 = new Test1('张三');var_dump($_test1);
我记得实例化类的时候,构造函数不是就执行了吗
为什么参数不对应啊?
但
class Test1 {
static private $_name;
}
并没有定义构造函数 __construct
class Test1 { private static $_name; public $_date; public function __construct($name) { $this->_date = 123; self::$_name = $name; } function output(){ return self::$_name.' - '.$this->_date; }} $_test1 = new Test1('张三');echo $_test1->output();