ในกรณที่เราสร้าง aplication แบบ advance ตัวโปรเจคจะถูกแบ่งออกเป็น 2 ส่วนคือ backend, frontend ซึ่งเราสามารถสร้าง link เชื่อมกันระหว่าง backend & frontend โดยใช้ urlManager
Frontend ลิ้งไปที่ Backend
แก้ไปไฟล์ frontend/config/main.php เพิ่ม urlManagerBackend
เข้าไป
<?php
'component'=>[
...........
'urlManager' => [
'class' => 'yii\web\urlManager',
'enablePrettyUrl' => false,
'showScriptName' => true,
],
'urlManagerBackend' => [
'class' => 'yii\web\urlManager',
'baseUrl' => '/projectName/backend/web',
'scriptUrl'=>'/projectName/backend/web/index.php',
'enablePrettyUrl' => false,
'showScriptName' => true,
],
...........
]
?>
เรียกใช้งาน
<?php
echo Yii::$app->urlManagerBackend->createAbsoluteUrl(['site/index','id'=>4]);
echo Yii::$app->urlManagerBackend->createUrl(['site/index','id'=>4]);
echo Yii::$app->urlManagerBackend->getBaseUrl();
echo Yii::$app->urlManagerBackend->getHostInfo();
echo Yii::$app->urlManagerBackend->getScriptUrl();
?>
Backend ลิ้งไปที่ Frontend
แก้ไปไฟล์ backend/config/main.php เพิ่ม urlManagerFrontend
เข้าไป
<?php
'component'=>[
...........
'urlManager' => [
'class' => 'yii\web\urlManager',
'enablePrettyUrl' => false,
'showScriptName' => true,
],
'urlManagerFrontend' => [
'class' => 'yii\web\urlManager',
'baseUrl' => '/projectName/frontend/web',
'scriptUrl'=>'/projectName/frontend/web/index.php',
'enablePrettyUrl' => false,
'showScriptName' => true,
],
...........
]
?>
เรียกใช้งาน
<?php
echo Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index','id'=>4]);
echo Yii::$app->urlManagerFrontend->createUrl(['site/index','id'=>4]);
echo Yii::$app->urlManagerFrontend->getBaseUrl();
echo Yii::$app->urlManagerFrontend->getHostInfo();
echo Yii::$app->urlManagerFrontend->getScriptUrl();
?>