Сейчас я работаю с платформой yii и хотел бы написать что-то вроде этого:
protected static $model = "Customer";
...
public function actionIndex() {
$model::model()->find(...
Теперь это работает:
protected static $model = "Customer";
protected static $model_obj;
...
public function __construct($controller, $id) {
$this->model_obj = new self::$model;
...
public function actionIndex() {
$model_obj::model()->find(...
, но создание объекта для статического члена доступаэто плохо.как этого избежать?
getClass принимает объект в качестве первого параметра, и он не подходит для этой цели
Google говорят:
$a = constant($myClassName . "::CONSTANT");
$b = call_user_func(array($myClassName, "static_method"));
это выглядит как ужасный мирдерьмо.использование этого может создать много проблем.другое решение?
о!моя проблема была в другом:
$controller::$NAME::model() // error
$controller_name = $controller::$NAME
$controller_name::model() // good
спасибо