0

すべてのコントローラーに言語セッターを実装したいので、コントローラーへのルーティングの前にこのメソッドを実行する必要があります->フロントコントローラー。

コントローラ クラスにメソッドを実装した場合、一部の用途では、コントローラの初期化の前に実行する必要があります

class Controller extends CController
{
  public function __construct($id, $module = null)
  {


    // Set the application language 

    if (isset($_GET['language']))
    {
        $lang = $_GET['language'];
4

2 に答える 2

1

onBeginRequestアプリケーションのイベントを使用できます。これには通常、コードを に追加する必要がありますindex.php。簡単な例を次に示します。

$app = Yii::createWebApplication($config);
$app->onBeginRequest = function($event) {
    // ... whatever you want to do
}
$app->run();

もちろん、クロージャー関数の代わりに、他の有効なコールバックをアタッチすることもできます。

于 2013-07-22T20:56:25.220 に答える