繁体   English   中英

PHP中的继承

[英]inheritance in php

我建立这些类:

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); // !!!

据我所知,继承在其他语言中也是如此简单...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM