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

در قسمت اول این مقاله از دیدگاه های مختلفی به مقایسه ی فریم ورک های Codeigniter و فریم ورک Cakephp پرداختیم. می توانید از لینک موجود در پایین صفحه قسمت اول را دنبال کنید.

فریم ورک های cakephp و codeigniter

فریم ورک های cakephp و codeigniter

اعتبار سنجی:

هنگام کار با Model ها، شما ناگزیر به اعتبار سنجی داده ها هستید. اعتبار سنجی داده ها در فریم ورک CodeIgniter از طریق یک کلاس اعتبار سنجی انجام می شود. یک مجموعه از قوانین تعریف شده و به شیئی که اعتبار سنجی را به عهده دارد، محول می شود. شیء اعتبار سنجی به صورت خودکار داده هایی که از طریق URL یا فرم اضافه شده اند را را اعتبار سنجی می کند. در آن قسمت شما می توانید در مورد نحوه ی انجام فرآیند اعتبار سنجی تصمیم بگیرید. کلاس اعتبار سنجی می تواند در خودکار ساختن برخی از فرآیند های تنظیم پیغام های خطا برای فیلد های مشخص نیز کمک کنید.

فریم ورک CakePHP نیز اعتبار سنجی را به یک یا دو روش، از طریق Model انجام می دهد. روش اول از یک تست جداگانه برای هر فیلد استفاده می کند که در متغیر اعتبار سنجی شده در داخل Model می باشد. این روش برای موارد ساده به خوبی عمل می کند اما خیلی زود به یک فرآیند طاقت فرسا تبدیل می شود. علاوه برای اعتبار سنجی ساده، می توان از beforeSave callback برای هر گونه اعتبار سنجی سفارشی و نامعتبر سازی فیلد های معیوب بهره برد. CakePHP 1.2 سیستم اعتبار سنجی انعطاف پذیر تری دارد.

View

CakePHP به خوبی با استفاده از یک آرایش پیش فرض (که می توانید به آسانی در زمان اجرا به آن سوئیچ کنید) به View ها رسیدگی می کند. این آرایش دارای دو متغیر پیش فرض است: title_for_layout و content_for_layout. هر action به صورت خودکار به یک view خاص لینک می شود. این هم خود یک رویکرد خودکار جادویی می باشد. تا وقتی که فایل های خود را با روشی خاص نامگذاری کنید، کنترلر ها به صورت خودکار به Model ها و View ها لینک می شوند. می توان به راحتی تمام آنها را override کرد و آرایش پیش فرض یا فایل های View را مطابق سلیقه ی خود تعریف کرد. هیچ روش آسانی برای به دست آوردن داده های View وجود ندارد، البته اجرای مکانیسم های caching سفارشی نیز دشوار است.

CodeIgniter یک روش ساده و روان دارد. هر فایل بارگذاری و پردازش می شود. یک کلاس templating هم وجود دارد اما باعث نمی شود که کارها ساده تر انجام شود. شما می توانید با استفاده از فراخوانی های هدر و فوتر روش CakePHP را شبیه سازی کنید اما این کار نیز بی نقص نخواهد بود. CodeIgnier دارای hook هایی می باشد که امکان override کردن مکانیسم های View و Caching و جایگزین کردن آنها با سیستم های سفارشی را ایجاد می کند.

ویژگی های خلاقانه و جدید:

به اعتقاد بسیاری از برنامه نویسان، CodeIgniter با کلاس های FTP، ایمیل، آپلود کردن فایل، XMLRPC، رمزی کردن Zip و بسیاری از ویژگی های دیگر، در این رقابت برنده است. CakePHP به نظر بسیار ساده می آید اما با استفاده از Bakery (فروم مقالات کاربران)، در تلاش برای رفع آن است. شما می توانید مانند CodeIgniter هر ویژگی مورد نیاز خود را در کلاس ها drop کنید. شما همچنین می توانید بسیاری از کلاس های CodeIgniter را بدون مشکل در CakePHP استفاده کنید.

بار گذاری خودکار:

CakePHP امکان تغییر گسترده در اپلیکیشن را از طریق کنترلر اصلی اپلیکیشن که سایر کنترلر ها از ان ارث بری می کنند، می دهد. به همین ترتیب شما می توانید متد های global برای Model را با استفاده از فایل Model اپلیکیشن ایجاد کنید. البته می توانید همه چیز را در سطح کنترلر به خوبی هماهنگ کنید که این کار با استفاده از هر یک از callback های سطح کنترلر (beforeFilter, afterFilter و beforeRender) انجام می شود.

فریم ورک کدایگنایتر نیز امکان بارگذاری خودکار helper ها، کتابخانه ها و پلاگین ها را می دهد اما این کار در سراسر اپلیکیشن اعمال می شود.

مستندات:

مستندات، کلید درک هر فریم ورک برای شروع برنامه نویسی با آن است. فریم ورک کدایگنایتر دارای یک فهرست کامل از تمام کامپوننت ها بوده که متد ها و خصوصیات هر یک از آنها نیز مستند شده است. همچنین این فریم ورک دارای فروم ها و ویکی هایی می باشد که تعداد زیادی از کد هایی که توسط کاربران ارائه شده است نیز در آنها موجود می باشد.

 از سوی دیگر فریم ورک CakePHP خیلی سازمان یافته نیست. مستندات آن دارای بخش هایی است که اطلاعات آن چیزی ورای آنچه که API ارائه می دهد نیست. به دلیل فرمت مستندات اولیه، شما می توانید آن را در فرمت های دیگری مانند CHM و PDF نیز به دست آورید. CakePHP نیز دارای بخشی به نام Bkery می باشد که حاوی مقالات و کامپوننت هایی که کاربران ارسال کرده اند می باشد. فریم ورک CakePHP همچنین دارای یک گروه فعال در گوگل است که به بیشتر سوالات و تعاملات کاربران از این طریق انجام می شود.

نتیجه:

با توجه به بررسی های انجام شده می توان گفت که این هر دو فریم ورک قابلیت های بسیار خوبی دارند و فرآیند توسعه ی اپلیکیشن را بسیار ساده تر می سازند. البته برخی از برنامه نویسان به دلیل خودکار بودن فرآیند های فریم ورک CakePHP، آن را بر فریم ورک CodeIgniter ترجیح می دهند. با هر نسخه ی جدیدی که از این فریم ورک های منتشر می شود، جهش بزرگی به سوی رفع نواقص آن ها خواهد بود.

توجه: این مقایسه بر اساس مستندات CodeIgniter 1.5.2 و CakePHP 1.2 می باشد.در مقالات بعدی به مسئله ی Performance اپلیکیشن های ایجاد شده توسط آنها می پردازیم.

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

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

مطالب مرتبط

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

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

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

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

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

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

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