php中$ this的范围是什么,我们可以在类
中声明side函数class Blogs extends Controller
{
public $articlesmodel = $this->loadmodel('articlesmodel');
public function index()
{
if(!isset($_SESSION['user']['login_id'])){
header("location:".URL);
}
}
}
答案 0 :(得分:1)
对于Blogs
类,它将在类边界上。
但你也是extending
Controller
课。因此,使用$this
,您可以访问所有public
& protected
班级Controller
成员。
在上面的代码中 - $this->loadmodel('articlesmodel');
正在访问Controller
类的方法(如果Controller
类没有扩展包含该方法的任何其他类)。
<强>更新强>
您不能在变量声明中使用表达式或函数调用。对于错误,请执行 -
class Blogs extends Controller
{
public $articlesmodel;
function __construct()
{
$this->articlesmodel = $this->loadmodel('articlesmodel');
}
public function index()
{
if(!isset($_SESSION['user']['login_id'])){
header("location:".URL);
}
}
}
答案 1 :(得分:1)
$this
表示类本身的实例,因此您可以访问该类中的任何内容,包括私有变量,函数等。
答案 2 :(得分:0)
使用$ this来引用当前对象。使用self来引用当前类。换句话说,对非静态成员使用$ this-&gt;成员,对静态成员使用self :: $ member。
$ this =当前班级