Yii - comment accéder à l'URL de base dans les principaux config

Je suis en train de travailler sur une application Yii. Je suis en train de mettre certains chemins dans mon principal config comme ceci:

//application-level parameters that can be accessed
//using Yii::app()->params['paramName']
'params'=>array(
       'paths' => array(
            'imageTemp'=> Yii::getPathOfAlias('webroot').'/files/temp-',
            'image'=> Yii::getPathOfAlias('webroot').'/files/',
            ...
        ),

        'urls' => array(
            'imageTemp'=> Yii::app()->getBaseUrl().'/files/temp-',
            'image'=> Yii::app()->getBaseUrl().'/files/',
            ...
        ),

Mais j'obtiens cette erreur:

Fatal error: Call to a member function getBaseUrl() on a non-object in ..blahblah../base/CApplication.php on line 553

Je pense que je ne peux pas utiliser Yii::app() dans le fichier de configuration depuis l'application n'est pas initialisé encore là, ou quelque chose comme ça. Alors, comment puis-je le remplacer Yii::app()->getBaseUrl() dans le fichier de configuration et obtenir les mêmes résultats?

  • Où voulez-vous savoir ce que la racine du site web va être? Normalement vous mis cela dans le fichier de configuration lui-même, non? J'ai l'habitude de faire définir un ou quelque chose, si je dois spécifier la même chose plus d'une fois.
  • Bonne question 😀 Alors, dois-je utiliser quelque chose comme ceci:"http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ou il y a un autre moyen plus pratique dans Yii à utiliser à la place?
  • webroot = dirname($_SERVER['SCRIPT_FILENAME']) si vous voulez vraiment le définir. Vous pouvez également stocker dans alias format? "racine de votre site.les fichiers" ou quelque chose? Vous pouvez getPathOfAlias() plus tard, dans votre application.