order_fields
поле должно быть объектом. В целом, если хочется удобства, целостности данных и надежности, то неплохо бы вместо ассоциативных массивов использовать обычные объекты, самые простые с обозначенными типами для полей, да хоть с паблик полями, или сделать их readonly
. $select = new Select();
$select->setAttr("name", "list");
$option1 = new Option();
$option1->setText("item-1");
$select->add($option1);
$option2 = new Option();
$option2->setText("item-2");
$select->add($option2);
echo $select->show();
class AAA
{
public $test;
public function __construct($a = 123)
{
$this->test = $a;
}
}
class BBB extends AAA {}
echo (new BBB())->test; // 123
class Button;
class RedButton extends Button;
interface Button;
class Image implements Button;
class Figure {
constructor(edges: number[], angles: number[]) {
// ...
}
}
class Rectangle extends Figure {
constructor(x: number, y: number) {
super([x, y, x, y], [90, 90, 90, 90]);
}
}
class Square extends Rectangle {
constructor(x: number) {
super(x, x);
}
}
class Sql {
public function query() {
....
return new SqlResult($stmt);
}
}
class SqlResult {
public function __constructor($stmt) {
$this->stmt = $stmt;
}
public function getCollumns() {
return $this->stmt->fetchColumn();
}
public function getRows() {
return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
class Test
{
public static $p = 5;
public static print()
{
echo self::$p;
}
}
Test::$p = 9;
$obj = new Test();
$obj->print(); // 9
class Test
{
private static $_p = 5;
public $p;
public function __construct()
{
$this->p = self::$_p;
}
public function update($value)
{
$this->p = $value;
self::$_p = $value;
}
public static print()
{
echo $this->p;
}
}
$obj = new Test();
$obj->update(9);
$obj->print(); // 9
abstract class A extends PDO{
public function __construct(){
// устанавливаем соединение с бд
}
...
}
class B extends A{
}
$o = new B();
$o->query("drop database master");