Late Static Binding in PHP OOPS

 <?php


class Db {
    protected static $table = "baseTable";

    public function select() {
        echo "SELECT * FROM " . static::$table . "<br>";
    }

    public function insert() {
        echo "INSERT INTO " . static::$table . "<br>";
    }
}

class Abc extends Db {
    protected static $table = "abc";
}

class UserAccounts extends Db {
    protected static $table = "user_accounts";
}

$abc = new Abc();
$abc->select();
$abc->insert();

$accounts = new UserAccounts();
$accounts->select();
$accounts->insert();

// OUTPUT :
//SELECT * FROM abc
// INSERT INTO abc
// SELECT * FROM user_accounts
// INSERT INTO user_accounts

?>

Comments

Popular posts from this blog

GROUP BY Clause and HAVING Clause in PHP

Method Overriding in Traits in PHP

Mysqli database Connection and Display Table Data from Database