مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

انواع فرمت های URL در فریمورک Yii


هنگامی که برنامه Yii یک آدرسِ درخواستی (request) را پردازش می کند، ابتدا URL را به یک route تبدیل می کند. سپس، برای handle کردن request، از این route برای معرفی یک action از controller استفاده می کند. این فرآیند مسیریابی یا routing نامیده می شود. معکوس این فرایند "URL creation" یا "ایجادِ آدرس"، نامیده می شود.

برنامه urlManager مسئول routing و URL creation  است، که این دو متد را ارائه می دهد :

  • parseRequest() -  یک request را به یک route تبدیل می کند.
  • createUrl()  - یک URL برای یک route مشخص شده ایجاد می کند.

فرمت های URL

اجزای برنامه urlManager از دو فرمت URL پشتیبانی می کند :

  • فرمت پیش فرض از یک پارامتر پرس وجو r برای نشان دادن مسیر استفاده می کند. به عنوان مثال، /index.php?r=news/view&id=5 نشانگر route یا مسیر news/view و یک query که دارای پارامتر id با مقدار 5 است.
  • فرمت pretty URL از مسیر اضافی با نام اسکریپت ورودی استفاده می کند. به عنوان مثال، فرمت مثال قبلی را می توان به فرمت /index.php/news/view/5 نوشت. برای استفاده از این فرمت شما باید قوانین URL را تنظیم کنید.

برای فعال کردن فرمت URL مناسب و پنهان کردن نام اسکریپت ورودی، این مراحل را دنبال کنید -

مرحله 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  را فعال نمودیم و نام اسکریپت ورودی را غیر فعال کردیم.

مرحله 2 - حال اگر در نوار آدرس مرورگر وب http://localhost:8080/site/about را تایپ کنید، pretty URL  را در action مشاهده خواهید کرد.

توجه داشته باشد که دیگرآدرس  http://localhost:8080/index.php?r=site/about وجودندارد

فصلِ: 14 , تعداد قسمت ها: 188 , سطح: صفر تا صد

این فصل در یک نگاه:

سلام . پیشنهاد میکنم حتما دموی دوره رو مشاهده کنید درباره فریم ورک Yii: در پاسخ به سوالات : آیا این فریم ورک سریع است؟ آیا این یک فریم ورک امن است؟ آیا این یک فریم ورک حرفه ای است؟ آیا ا…
فصلِ: 8 , تعداد قسمت ها: 77 , سطح: صفر تا صد

این فصل در یک نگاه:

  پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید