Yii - URL प्रारूप
जब कोई वाईआईआई एक अनुरोधित URL को संसाधित करता है, तो सबसे पहले, यह URL को मार्ग में पार्स करता है। फिर, अनुरोध को संभालने के लिए, इस मार्ग का उपयोग संबंधित नियंत्रक कार्रवाई को तत्काल करने के लिए किया जाता है। इस प्रक्रिया को कहा जाता हैrouting। रिवर्स प्रोसेस को URL क्रिएशन कहा जाता है। urlManagerअनुप्रयोग घटक रूटिंग और URL निर्माण के लिए ज़िम्मेदार है। यह दो तरीके प्रदान करता है -
parseRequest() - एक मार्ग में एक अनुरोध पार्स।
createUrl() - दिए गए मार्ग से एक URL बनाता है।
URL प्रारूप
urlManager अनुप्रयोग घटक दो URL स्वरूपों का समर्थन करता है -
डिफ़ॉल्ट प्रारूप मार्ग का प्रतिनिधित्व करने के लिए एक क्वेरी पैरामीटर r का उपयोग करता है । उदाहरण के लिए, URL/index.php?r=news/view&id=5 मार्ग का प्रतिनिधित्व करता है news/view और यह id क्वेरी पैरामीटर 5।
सुंदर URL प्रारूप प्रविष्टि स्क्रिप्ट नाम के साथ अतिरिक्त पथ का उपयोग करता है। उदाहरण के लिए, पिछले उदाहरण में, सुंदर प्रारूप होगा/index.php/news/view/5। इस प्रारूप का उपयोग करने के लिए आपको URL नियम निर्धारित करने होंगे।
सुंदर URL प्रारूप को सक्षम करने और प्रविष्टि स्क्रिप्ट नाम को छिपाने के लिए, इन चरणों का पालन करें -
Step 1 - संशोधित करें config/web.php निम्नलिखित तरीके से फाइल करें।
<?php
$params = require(__DIR__ . '/params.php'); $config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'request' => [
// !!! insert a secret key in the following (if it is empty) -
//this is required by cookie validation
'cookieValidationKey' => 'ymoaYrebZHa8gURuolioHGlK8fLXCKjO',
],
'cache' => [
'class' => 'yii\caching\FileCache',
],
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
],
'errorHandler' => [
'errorAction' => 'site/error',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => true,
],
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true
],
'db' => require(__DIR__ . '/db.php'),
],
'modules' => [
'hello' => [
'class' => 'app\modules\hello\Hello',
],
],
'params' => $params, ]; if (YII_ENV_DEV) { // configuration adjustments for 'dev' environment $config['bootstrap'][] = 'debug';
$config['modules']['debug'] = [ 'class' => 'yii\debug\Module', ]; $config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [ 'class' => 'yii\gii\Module', ]; } return $config;
?>
हमने अभी-अभी सक्षम किया है pretty URL format और प्रविष्टि स्क्रिप्ट नाम अक्षम कर दिया है।
Step 2 - अब, यदि आप टाइप करते हैं http://localhost:8080/site/about वेब ब्राउज़र के एड्रेस बार में, आपको सुंदर URL एक्शन में दिखाई देगा।
ध्यान दें, कि URL अधिक नहीं है http://localhost:8080/index.php?r=site/about।