php - style - Obteniendo URL base en Yii 2
yii2 html a style (10)
Úsalo así:
Yii::$app->getUrlManager()->getBaseUrl()
Más información en URL de base, canónicas, de inicio: http://www.yiiframework.com/doc-2.0/yii-helpers-url.html
Estoy tratando de obtener la URL base para el proyecto en Yii 2 pero parece que no funciona. Según esta página solías poder hacer:
Yii::app()->getBaseUrl(true);
En Yii 1, ¿pero parece que ese método en Yii 2 ya no acepta un parámetro?
He intentado hacerlo sin verdad, como por ejemplo:
Yii::$app->getBaseUrl();
Pero simplemente vuelve vacío.
¿Cómo puedes hacer esto en Yii 2?
Busqué una solución sobre cómo podemos hacerlo en codeigniter, enrutando como, por ejemplo,
base_url()
base_url(''profile'')
base_url(''view/12'')
La única forma en que podemos hacer eso en Yii2
<?=Url::toRoute(''/profile'') ?>
En yii 1 este código devuelve el nombre de host
Yii::app()->getBaseUrl(true);
En yii2 lo siguiente
Yii::$app->getBaseUrl();
no existe como método de la aplicación Yii :: $ y genera un error con el mensaje
Calling unknown method: yii/web/Application::getBaseUrl()
Podría usar la clase Request que encapsula el $ _SERVER
Yii::$app->request->hostInfo
Intenta debajo del código. Deberia de funcionar. Devolverá el nombre de la URL base
utilizar yii / helpers / Url;
Url :: home (''http'') // http: // HostName / OR Url :: home (''https'') // https: // HostName /
Mi conjetura es que necesitas mirar los alias.
Usar alias sería como:
Yii::getAlias(''@web'');
También puedes confiar siempre en uno de estos dos:
Yii::$app->homeUrl;
Url::base();
Para obtener la URL base de la aplicación, debe usar el yii/helpers/Url::base()
:
use yii/helpers/Url;
Url::base(); // /myapp
Url::base(true); // http(s)://example.com/myapp - depending on current schema
Url::base(''https''); // https://example.com/myapp
Url::base(''http''); // http://example.com/myapp
Url::base(''''); // //example.com/myapp
Url::home()
NO debe usarse en este caso . Application::$homeUrl
usa la URL base de forma predeterminada, pero podría cambiarse fácilmente (por ejemplo, a https://example.com/myapp/home
), por lo que no debe confiar en el supuesto de que siempre devolverá la URL base. Si hay un método especial Url::base()
para obtener la URL base, entonces utilícelo.
Para obtener la base URL Yii2 usando:
Url::home(true)
Prueba esto:
$baseUrl = Yii::$app->urlManager->createAbsoluteUrl([''/'']);
Puede llegar a su URL base por esto:
Yii::$app->request->baseUrl
puede ser que estés buscando esto
Yii::$app->homeUrl
también puedes usar esto
Url::base().
o esto
Url::home();