Kaptain Kitty
دسته ها :فریم ورک php
انتشار :۱۷ مهر ۱۳۹۳
بازدید :2636 بار

فریم ورک کدایگنایتر

فریم ورک کدایگنایتر

رویکردهای فریم ورک های CakePHP و CodeIgniter از جهات زیادی شبیه به یکدیگر است، مانند پشتیبانی هر دو آنها از PHP4. هر گاه از یکی از آنها نام برده شود، به دیگری نیز اشاره خواهد شد.
هر دو یک معماری MVC ایجاد می کنند که به این معناست که آنها Model (داده)،Controller (که داده را از Model گرفته و به View می دهد) و View (آنچه که کاربر می بیند) جدا کرده اند.
هر دوی آنها از Routing (مسیریابی) استفاده می کنند که یک URL را انتخاب کرده و آن را به یک کاربرد خاص در یک کنترلر (که در CakePHP به آن action می گویند) map می کنند.فریم ورک CodeIgniter از عبارات با قاعده (Regular Expression) برای مسیریابی پشتیبانی می کند. در حالی که این ویژگی در CakePHP نسخه ی ۱٫۱ وجود داشت اما خیلی کامل نبود که در نسخه ی CakePHP 1.2 آپدیت شد.
هر دوی آنها از روش Scaffolding پشتیبانی می کنند که روشی خودکار برای تولید View بر اساس Model می باشد. Scaffolding به معنای ایجاد پروتوتایپ ساده می باشد و CodeIgniter با درخواست کردن یک کلمه ی کلیدی در URL برای دسترسی به Scaffolding، آن را به سطح بالاتری می برد. این امکان وجود دارد که فرد بتواند کلمه کلیدی را حذف کند، این گزینه کاملا اختیاری است. اغلب برنامه نویسان ترجیح می دهند که از این کلمه کلیدی استفاده نکنند زیرا گاهی پروژه های آنها شخصی می باشد و تمایلی ندارند که در مشاهده ی عمومی قرار گیرد و استفاده از کلمه کلیدی در این گونه موارد آزار دهنده خواهد بود.
رویکرد سادگی
اعتقاد بر این است که بخش اعظم جاذبه ی فریم ورک CodeIgniter مربوط به سادگی کار با آن است. اکثر کارها در کنترلر انجام می شود، در کتاب خانه ها بارگذاری شده، داده ها از Model دریافت می شود و در View نمایش داده می شود. همه چیز به صورت ساده و شفاف است و شما به راحتی می توانید نحوه ی انجام کارها را ببینید.
سادگی CakePHP در اتوماسیون آن است (که اصلاحا به آن جادوی خودکار هم می گویند). فرآیند کد نویسی در آن سریع تر انجام می شود اما بدون تحلیل هسته به سختی می توانید بفهمید که چه کاری در حال انجام شدن است. برخی از برنامه نویسانی که تمایل دارند روند انجام شدن کارها را بدانند، کار با فریم ورک CakePHP در ابتدا گیج کننده و دشوار است.

فریم ورک cakephp

فریم ورک cakephp

کار با Model ها

کار با Model ها در CodeIgniter بسیار روان است و اساسا به شما این امکان را می دهد که یک کوئری استاندارد SQL را با اندکی فرامین ساده مانند نمونه ی زیر، شبیه سازی کنید.

$query = $this->db->getwhere('mytable', array(id => $id), $limit, $offset);

$this->db->select('title')->from('mytable')->where('id', $id)->limit(10, 20);

$query = $this->db->get();

نکته: تغییر متد که در بخش دوم این مثال آورده شده است، فقط در PHP5 موجود است.

شما می توانید یک Model Object نیز ایجاد کرده، بار گذاری کرده و برای انجام یک task سفارشی، متد های سفارشی نیز ایجاد کنید. شما ترجیح می دهید که این کار را در Model انجام دهید و نه در کنترلر. CakePHP روش متفاوتی را با بارگذاری در مدلی که با کنترلر جاری منطبق است (کنترلر ها نیز همنام مدل مربوط به خود خواهند بود)، ارائه می دهد. شما می توانید این بارگذاری خودکار را غیر فعال کرده یا حتی model هایی را assign کنید که باید توسط کنترلر بارگذاری شوند.

فریم ورک CakePHP نیز از طریق ایجاد تمام موارد مربوط به model، کارها را برای شما ساده تر می سازد و این کار برای شما امکان کوئری گرفتن را بسیار ساده می سازد. برای مثال فرض کنید که یک کنترلر به نام post-controller  وجود دارد، این کنترلر می تواند کار زیر را انجام دهد:

$this->Post->Comment->findAllByPostId($id)

این کوئری خاص به این دلیل انتخاب شد که دو مفهوم مختلف را نشان می شود. اول این که می توان از طریق Post Model (با فرض اینکه رابطه ای در Post Model ایجاد شده باشد) به Comment Model دسترسی داشت. دوم این که یک متد به نام findAllbyPostId وجود دارد. CakePHP این امکان را به وجود می آورده که رکورد ها از طریق کوئری های findByX و findAllByX به دست آورد که در این جا X برابر با نام فیلیدی است که در تلاش برای یافتن آن هستید. جایی که گمان می رود فریم ورک Cake برتری داشته باشد، توانایی آن در به دست آوردن تمام داده های مرتبط به صورت خودکار است. کوئری زیر را به عنوان یک مثال در نظر داشته باشید:

$this->Post->findById($id)

این کوئری به صورت خودکار تمام فرامین مرتبط با این Post را متوقف می سازد. ابزار بسیار کاربردی و مناسبی می باشد.

ادامه ی این مقاله را در مقاله ی قسمت دوم مقایسه ی فریم ورک Codeigniter و فریم ورک Cakephp دنبال کنید.

برچسب‌ها, , , , , , , , ,

مطالب مرتبط

  خرید کتاب سوپر فریم ورک قدرتمند برنامه نویسی وب Ext JS   خرسندیم که به استحضار دوستان و علاقه مندان برنامه نویسی برسانیم که با درخواست های شما عزیزان و پس از مدت ها، بر آن شدیم تا اولین کتاب کامل آموزش سوپر فریم ورک Ext JS را تحت عنوان “ساخت وب اپلیکیشن های […]

به طور کلی استفاده از فریم ورک اجباری نیست، بلکه فریم ورک فقط یک ابزار کمکی است که به شما کمک می کند پروژه هایتان را سریع تر و بهتر جلو ببرید. بهتر ازین بابت که : فریم ورک ها بر اساس یک ساختار و معماری درست بنا شده اند و برنامه نویس را ملزم […]

جدیدترین فریم ورک دنیای فریم ورک های php  هم پا به صحنه گذاشت. فریم ورک Fat-Free  یا به عبارتی f3 این فریم ورک واقعا سبک است، توابع پایه ای تنها در یک فایل و در یک کلاس گنجانده شده است و حجمی معادل با ۳۹ کیلوبایت را اشغال می کند! حتی با این حجم کم […]

چهار قسمت از بررسی کامل و جز به جز php و node js را پشت سر گذاشتیم. در این قسمت که آخرین مقاله را در این مورد ارائه می دهیم می خواهیم بیشتر در مورد نقاط قوت Node.js صحبت کنیم. در انتهای این مقاله، لینک هر چهار سری گذشته ذکر شده است تا اگر آنها […]

نظراتتان را برایمان بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب ما تو این شبکه های اجتماعی هم پخش میشه