• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
یهترین روش ساخت Router
#1
سلام مجدد
توی فریم ورک های مختلف آدرس دهی url ها با هم فرق داره.
دو نوع آدرس دهی وجود داره .اگه کنترلر و اکشن زیر رو در نظر بیریم :
کد پی‌اچ‌پی:
class indexContrroller extends Controller
{

function 
posts($group $page)
{

// .....
}

یکی به این صورت زیره :

http://localhost/index/group/1/2

که اول کنترلر میاد بعد اکشن و قسمتهای بعدی مربوط به مقادیر یا پارامترهای اکشن هستند.

شکل دوم هم به صورت زیره :

http://localhost/index/posts/group/1/page/2

میبینیم که در روش دوم نام پارامتر هم ذکر شده. که فکر میکنم فریم ورک زند از روش دوم استفاده میکنه.

استفاده از روش دوم برای موتورهای جستجو بهتر به نظر میرسه اما ممکنه آدرسهایی طولانی به وجود بیاد که در مورد روش اول برعکسه.

حالا سوال من اینه که کدوم روش برای پیاده سازی روتر مناسب تره؟ . چرا؟
  پاسخ
تشکر شده توسط : Reza
#2
اینا routes های پایست! و گذاشتن تا در صورت لزوم کانفیگ کنی.
مثلا توی یکم قدیمتر همه اطلاعات رو با GET می فرستادن و بعد هرجا لازم بود با mode-rewite یو ار ال رو همچین خوشکل می کردن که نگو!
روش بهتری وجود نداره. بگرد دنبال روش خودت !
  پاسخ
تشکر شده توسط : Reza Mr.Moqadam
#3
اگه یه نیگاه به فریم ورک CI بندازی میبینی که روتر رو میشه به نوعی شخصی سازی کرد .
مثلاً
کد:
$route['category/(:num)/page/(:num)'] = 'site/category/$1/$2';
/* Location: ./application/config/routes.php */

اگه این قابلیت برای روتری که مینویسین پیاده بشه ، قطعاً این مسائل به راحتی حل میشه .

نقل قول:استفاده از روش دوم برای موتورهای جستجو بهتر به نظر میرسه اما ممکنه آدرسهایی طولانی به وجود بیاد که در مورد روش اول برعکسه.
طولانی بودن آدرس فقط در یک مورد اشکال ایجاد میکنه اونم کپی و نمایش در شبکه های مجازی چون محدودیت کاراکتر هست .

شما میتونید همراه با اون یک روتر دیگه هم برای لینک کوتاه داشته باشید .
site.ir/category/3/page/2
site.ir/c:3/p:2
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#4
نقل قول:روش بهتری وجود نداره. بگرد دنبال روش خودت !
روش بهتر منظورم اینه که هم کاربر پسند باشه هم کوتاه هم موتور جستجو پسند !


(۱۳۹۱ مرداد ۰۷, ۱۲:۱۱ ق.ظ)Reza نوشته: اگه یه نیگاه به فریم ورک CI بندازی میبینی که روتر رو میشه به نوعی شخصی سازی کرد .
مثلاً
کد:
$route['category/(:num)/page/(:num)'] = 'site/category/$1/$2';
/* Location: ./application/config/routes.php */

اگه این قابلیت برای روتری که مینویسین پیاده بشه ، قطعاً این مسائل به راحتی حل میشه .

نقل قول:استفاده از روش دوم برای موتورهای جستجو بهتر به نظر میرسه اما ممکنه آدرسهایی طولانی به وجود بیاد که در مورد روش اول برعکسه.
طولانی بودن آدرس فقط در یک مورد اشکال ایجاد میکنه اونم کپی و نمایش در شبکه های مجازی چون محدودیت کاراکتر هست .

شما میتونید همراه با اون یک روتر دیگه هم برای لینک کوتاه داشته باشید .
site.ir/category/3/page/2
site.ir/c:3/p:2

روش ci روش خوبیه. خوشم اومد.
ولی اگه جوری باشه که انعطاف داشته باشه خیلی بهتره منظورم از انعطاف اینه که ترتیب ارسال پارامتر ها فرقی نداشته باشه.
یعنی وقتی اینجوری میزنی :
site.ir/category/3/page/2
با اینجوری هیچ فرقی نداشته باشه.
site.ir/page/2/category/3
البته نمیدونم چه مزیتی داره ولی فکر میکنم بهتر باشه فقط Big Grin
  پاسخ
تشکر شده توسط : Reza


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان