, :
class Parent
{
}
class Mother extends Parent
{
}
final class Brother extends Mother /* - This class cannot be extended - */
{
}
class Pet extends Brother
{
}
Pet : Fatal error: Class Pet may not inherit from final class (Brother)
, , , , , .
http://php.net/manual/en/language.oop5.final.php
, , ,
1 , , , MySql, MsSql .., class, , , , .
interface IDatabaseLayer
{
public function connect();
public function query();
public function sanitize();
}
, , MySql MsSql , .
, , PHP5 , .
, 3
DatabaseCredentialsDatabaseConnectionDatabaseQuery
DatabaseConnection, DatabaseCredentials:
class DatabaseConnection implements Connectable
{
public function __construct(DatabaseCredentials $ConnectionDetails)
{
$this->Connect($ConnectionDetails->BuildDSN());
}
}
- :
PHP5, , , , - , , , .
:
namespace Database\MySql
{
class Database{}
}
namespace Database\MsSql
{
class Database{}
}
:
use Database;
$Database = new MySql\Database();