PDA

View Full Version : آموزش Codeigniter بخش دوم



ghasem.fattahpour
پنج شنبه 10 اردیبهشت 1388, 16:22 عصر
MODEL – VIEW – CONTROL در واقع چه هستند؟
برای اینکه ما بتوانیم کنترل مناسبی بر روی فرآیند های خود داشته باشیم می توانیم هر کدام از عناصر 3 گانه این معماری را به عنوان یک پوشه در نظر بگیریم که در خود فایل های مختلفی را در بر دارند که هر کدام از این فایل ها خود دارای یک کلاس جداگانه هستند. پس controller خود یک مجموعه از کلاس های مختلف است.


بررسی url در معماری MVC
زمانی که شما در داخل اینترنت به جستجو می پردازید حتما به این مسئله برخورده اید که به صفحاتی روبه رو می شوید که هیچ گونه پسوندی ندارند مثلا:

http://codeigniter.com/news/


در واقع در این آدرس متوجه می شویم در چه سایتی و در چه صفحه ای قرار داریم. مسئله جالب دیگر! ما می دانیم که تمامی صفحات در بخش news سایت codeigniter به صورت داینامیک هستند پس آیا ممکن است که یک صفحه داینامیک به هیچ ختم شود؟!
در واقع در معماری MVC سعی بر این شده است که :
1) صفحات برای موتور های جستجو گر بهینه شوند
2) فراخوانی توابع و بررسی خطا ها راحتتر شود
3) و...

زمانی که ما در معماری MVC ودر فریم وورک codeigniterیک صفحه را فراخوانی می کنیم دقیقا متدی از یک کلاس که در پوشه controller وجود دارد را فراخوانی می کنیم. با مثالی بحث را روشنتر می کنیم:
در سایت های خبری گاهی با این آدرس برخورد می کنیم:


example.com/news/article/my_article


اگر بررسی بر روی این آدرس داشته باشیم در واقع کلاسی به نام News در داخل پوشه controller وجود دارد که دارای متدی به نام article است و این متد دارای پارامتری به نام my_article می باشد. یعنی:


example.com/class/function/ID

اگر این کلاس نوشته شود حتما این موارد را با خود یدک می کشد:


----------code
<?php
class news
{



function article($ID ,…)
{
……
}


}
?>
--------------------end of code



در ضمن codeigniter این توانایی را به شما می دهدکه به انتهای تمامی url های خود یک پسوندبه دلخواه قرار دهید مانند: .html

Javad583
پنج شنبه 21 خرداد 1388, 10:41 صبح
این قابليتی که شما میفرماييد هيچ ربطی به MVC نداره بلکه راحت تر میشه اونو پياده سازی کرد. شما نهايتا برای اجرای اين نوع درخواست ها نياز به HTACCESS داريد. با کد نويسی عادی هم میشه اینکار رو انجام داد.