
URL Rules یا قوانین آدرس ها در فریمورک Yii
URL RULE یک instance یا نمونه از yii\web\UrlRule است. کامپوننت urlManager زمانی که فرمتِ URL مناسبی فعال است، از قوانین URL اعلام شده در property با نام rules استفاده می کند.
برای تجزیه یک request یا درخواست، URL manager ، قوانین را به ترتیب اعلام می کند و برای اولین قانون جستجو می کند.
مرحله 1 - کامپوننت urlManager را در فایل config/web.php تغییر دهید.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'about' => 'site/about',
]
],
مرحله 2 - در مرورگر وب خود به آدرس http://localhost:8080/about بروید، آنچه که مشاهده می کنید مطابق با تصویر زیر است.
یک قانون URL می تواند با پارامترهای query به بصورت زیر مرتبط باشد:
<ParamName:RegExp>, where −
- ParamName – نام پارامتر
- RegExp – می توانید از regular expression بصورت اختیاری برای مچ کردن مقادیر پارامترها استفاده کنید
فرض کنید ما قوانین URL زیر را اعلام کردیم -
[
'articles/<year:\d{4}>/<category>' => 'article/index',
'articles' => 'article/index',
'article/<id:\d+>' => 'article/view',
]
وقتی از Ruleها برای تجزیه و تحلیل (parsing) استفاده می شود :
- /index.php/articles به صورت the article/index تحلیل می شود .
- /index.php/articles/2014/php به صورت article/index تحلیل می شود.
- /index.php/article/100 به صورت article/view تحلیل می شود.
- /index.php/articles/php به صورت articles/php تحلیل می شود.
وقتی از Ruleها برای ساخت آدرس یا URL استفاده می شود :
- Url::to(['article/index']) آدرس /index.php/articles را ایجاد می کند.
- Url::to(['article/index', 'year' => 2014, 'category' => 'php']) آدرس /index.php/articles/2014/php را ایجاد می کند.
- Url::to(['article/view', 'id' => 100]) آدرس /index.php/article/100 را ایجاد می کند.
- Url::to(['article/view', 'id' => 100, 'source' => 'ad']) آدرس /index.php/article/100?source=ad را ایجاد می کند.
- Url::to(['article/index', 'category' => 'php']) آدرس /index.php/article/index?category=php را ایجاد می کند.
برای اضافه کردن یک پسوند به URL،باید property با نام yii\web\UrlManager::$suffix را پیکربندی کنید.
مرحله 3 - urlComponent را در فایل config/web.php ویرایش کنید.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'suffix' => '.html'
],
مرحله 4 - آدرس http://localhost:8080/site/contact.html را در آدرسبار مرورگر وبتان تایپ کنید، آنچه که می بینید مطابق با تصویر زیر می باشد. به پسوند html توجه کنید.
این فصل در یک نگاه:
…
سلام . پیشنهاد میکنم حتما دموی دوره رو مشاهده کنید درباره فریم ورک Yii: در پاسخ به سوالات : آیا این فریم ورک سریع است؟ آیا این یک فریم ورک امن است؟ آیا این یک فریم ورک حرفه ای است؟ آیا ا…این فصل در یک نگاه:
…
پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…