用方法定义 class
Defining a class with a method
如果我这样定义 class LOG
:
class LOG {
static public function LOG(){
return;
}
}
echo 1;
当我运行它时,它什么也没显示。如果我注释掉这样的方法:
class LOG {
/*static public function LOG(){
return;
}*/
}
echo 1;
它会在浏览器中显示“1”。为什么第一个代码片段不起作用?
编辑
当您打开错误报告时,您将收到此错误:
Fatal error: Constructor LOG::LOG() cannot be static
去掉函数前面的static
关键字就可以了:
class LOG{
public function LOG(){
return;
}
}
在 PHP 中,当您像这样创建 class 时:
class LOG{
static public function LOG(){
return;
}
}
(与class同名函数)
它将运行 用作__construct()
方法。
它没有到达回声,因为你在那里有 return;
语句。
如果你把它注释掉,它应该可以工作:
class LOG{
static public function LOG(){
// return;
echo 'inside class';
}
}
但我认为这不是错误,一定有其他问题。打开错误报告并让我们知道是否有任何错误。
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
如果我这样定义 class LOG
:
class LOG {
static public function LOG(){
return;
}
}
echo 1;
当我运行它时,它什么也没显示。如果我注释掉这样的方法:
class LOG {
/*static public function LOG(){
return;
}*/
}
echo 1;
它会在浏览器中显示“1”。为什么第一个代码片段不起作用?
编辑
当您打开错误报告时,您将收到此错误:
Fatal error: Constructor LOG::LOG() cannot be static
去掉函数前面的static
关键字就可以了:
class LOG{
public function LOG(){
return;
}
}
在 PHP 中,当您像这样创建 class 时:
class LOG{
static public function LOG(){
return;
}
}
(与class同名函数)
它将运行 用作__construct()
方法。
它没有到达回声,因为你在那里有 return;
语句。
如果你把它注释掉,它应该可以工作:
class LOG{
static public function LOG(){
// return;
echo 'inside class';
}
}
但我认为这不是错误,一定有其他问题。打开错误报告并让我们知道是否有任何错误。
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);