/** * Stores the application instance in the class static member. * This method helps implement a singleton pattern for CApplication. * Repeated invocation of this method or the CApplication constructor * will cause the throw of an exception. * To retrieve the application instance, use {@link app()}. * @param CApplication $app the application instance. If this is null, the existing * application singleton will be removed. * @throws CException if multiple application instances are registered. */ public static function setApplication($app) { if (self::$_app === null || $app === null) { self::$_app = $app; } else { throw new CException(Yii::t('yii', 'Yii application can only be created once.')); } }