php中的继承

php中的继承,php,inheritance,Php,Inheritance,我构建这些类: class Anonym { public $ToSelect; public $ToUpdate; public $ToInsert; public $ToDelete; public $limit; public $order_by; public $filter; public function is_banned($ipAddress) { $query="SELECT * FROM

我构建这些类:

class Anonym
{
    public $ToSelect;
    public $ToUpdate;
    public $ToInsert;
    public $ToDelete;
    public $limit;
    public $order_by;
    public $filter;

    public function is_banned($ipAddress)
    {
        $query="SELECT * FROM anonym WHERE ip='$ipAddress'";
    }

   public function insert_ip()
   {
            $serverAddress=$_SERVER['REMOTE_ADDR'];
            $query="INSERT INTO anonym (ip,banned) 
                VALUES('$serverAddress',0)";
   }

    public function update_ban($update_ban)
    {
            $serverAddress=$_SERVER['REMOTE_ADDR'];
            $query="UPDATE anonym SET ban=$update_ban WHERE ip='$serverAddress'";
    }

}

class User extends Anonym
{

    public function get_user_id()
    {
        $select="SELECT ".$ToSelect." FROM users ".$filter.$order_by.$limit;
    }

    public function insert_user()
    {
        $select="INSERT INTO users (name, password,roles) VALUES (".$ToInsert.")";
    }

    public function get_user_name()
    {
        $select="SELECT ".$ToSelect." FROM users ".$filter.$order_by.$limit;
    }

    public function get_user_role()
    {
        $select="SELECT ".$ToSelect." FROM users ".$filter.$order_by.$limit;
    } 
}
匿名用户由登录用户继承。我不确定的是如何继承这些财产,。。这样做对吗?或者我需要添加$this->,以便进行覆盖

另外,方法重写在php中简单吗

因此,如果我这样做:

$user=new User();
$user->insert_ip(); // will the overriding be successful or do I need to use some special syntax?
  • 是的,就是这么简单
  • 是的,可以
我希望您知道,仅使用变量
$query
是不够的

$query="SELECT * FROM anonym WHERE ip='$ipAddress'";
mysql_query($query); // !!!

据我所知,继承在其他语言中也很简单…

我可以返回它,并对结果进行迭代..我知道,因为我犯了一个你没有注意到的错误。要覆盖,您需要在属性上执行此操作:$this->filter not$filter*是就是这么简单。你没注意到我犯的错误吗。属性像方法一样被继承。。当我应用子类的方法或属性时,它被重写,而不是被继承。如果您询问重写,我会给出关于重写的答案。我刚刚询问了$query,以确保您知道自己在做什么。