Всем привет.
Мне необходимо из собственного кода вызывать регенерацию моделей, хорошо бы это делать при помощи вызова gii через некий метод.
К сожалению все мои потуги найти нечто подобное в самом Gii или вызывать его при помощи баловства с get/post запросов не увенчались успехами.
Пришлось использовать yiic shell, но ведь все знают, что он является устаревшим и его использование не приветствуется. да и просто мне не в кайф вызывать из консоли методы генерации модели, сейчас приходится делать нечто подобное:
$protectedPath = Yii::app()->basePath . '/';
$modelsPath = $protectedPath . "models/";
$modelFilePath = $modelsPath . get_class($this) . ".php";
$yiicFilePath = $protectedPath . "yiic";
$configFilePath = $protectedPath . "config/console.php";
unlink ($modelFilePath);
$out = shell_exec('echo "nmodel ' . get_class($this) . ' ' . $this->tableName() . '" | ' . $yiicFilePath . ' shell ' . $configFilePath);
Так то всё работает, но мне не нравится сам способ, которым я добился результат. Подскажите что-нибудь?
Ах да, чтобы сразу пропали вопросы зачем мне это — я реализую возможность редактирования таблиц БД и соответственно появляется необходимость обновлять модельки данных.