Timur
Новичок
Есть работающая cms. Хотелось бы перевести ее на ООП. Пока только front-end
Классы разумеется используются, но $GLOBALS достал изрядно. Да и 21 век все таки.
Юзать монстров типа ZF, YII, codeigniter и т.д. не предлагать.
Некоторые классы и хелперы оттуда юзаются и так, по мере надобности.
Пожалуйста не кидайте камни т.к. код упростил донельзя чтобы не городить тут огород и это только примеры.
Вопрос первый
Активно юзается класс ezsql
как лучше сделать
1 вариант
2 вариант
3 вариант
Вопрос второй по магическому методу __call
при вызове MyMainClass->test();
включится и выполнится файл просто как тело функции
как в этом файле избежать обращения к переменным $this->var, $this->var2 и.т.д;
ну как то по другому что ли vars::$var vars::$var1
MyMainClass->var, MyMainClass->var1
Уж очень эта $this глаза мозолит в отдельных файлах
zf_registry прикручивать
Классы разумеется используются, но $GLOBALS достал изрядно. Да и 21 век все таки.
Юзать монстров типа ZF, YII, codeigniter и т.д. не предлагать.
Некоторые классы и хелперы оттуда юзаются и так, по мере надобности.
Пожалуйста не кидайте камни т.к. код упростил донельзя чтобы не городить тут огород и это только примеры.
Вопрос первый
Активно юзается класс ezsql
как лучше сделать
PHP:
include_once "lib/ezsql/ez_sql_core.php";
include_once "lib/ezsql/ez_sql_mysql.php";
PHP:
$dbh = new ezSQL_mysql(DB_USER, DB_PASS, DB_NAME, DB_HOST);
class MyMainClass($dbh){
...код класса
}
PHP:
class MyMainClass{
function __construct(){
$this->dbh = new ezSQL_mysql(DB_USER, DB_PASS, DB_NAME, DB_HOST);
}
}
PHP:
class MyMainClass extends ezSQL_mysql{
function __construct ($dbuser='', $dbpassword='', $dbname='', $dbhost='localhost')
{
parent::ezSQL_mysql( DB_USER, DB_PASS, DB_NAME, DB_HOST);
}
}
PHP:
class MyMainClass{
function __call($functionName, $args) {
include $functionName.'.php';
}
}
включится и выполнится файл просто как тело функции
как в этом файле избежать обращения к переменным $this->var, $this->var2 и.т.д;
ну как то по другому что ли vars::$var vars::$var1
MyMainClass->var, MyMainClass->var1
Уж очень эта $this глаза мозолит в отдельных файлах
zf_registry прикручивать