class login
{
private $mysql;
private $admin;
public function __construct()
{
$this->mysql = 123;
//$this->mysql=require_once(SERVER_ROOT.'/library/mysql.class.php');
//$this->admin=require_once(SERVER_ROOT.'/library/admin.class.php');
}
function __get($name){
echo $this->$name;
}
}
class admin
{ public function __construct()
{
}
function myname(){
$a = new login;
echo $a->mysql;
}
}$c = new admin;
echo $c->myname();
__get和__set。
如果有,则会自动调用这些方法。通过属性访问器方法可以控制对类属性的访问,以实现对要保存的数据进行检查,从而确保属性值有意义的数据。__get方法只有一个参数,用于传递属性的名称。__set方法有两个参数,分别用于传递属性的名称和值。
public function getMysql() {
return $this->mysql;
}
这样可以防止写入,但麻烦,所以还是推荐改成public
以下是代码:<?php
class login
{
private $mysql;
private $admin;
public function __construct($params)
{
$this->mysql=require_once(SERVER_ROOT.'/library/mysql.class.php');
$this->admin=require_once(SERVER_ROOT.'/library/admin.class.php');
} public function getMysql(){
return $this->mysql;
}
}class admin
{
public function __construct($params)
{
$oLogin = new login();
echo $oLogin->getMysql();
}
}
?>