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

CakePHP

Cake یکی از اولین فریم ورک های PHP بوده و زمان آن به موقعی بر می گردد که اسپاگتی کد ها تبدیل به یک استاندارد شده بودند. ایده ی Cake این بود که از طریق کم کردن کد هایی که برنامه نویس باید بنویسد، به توسعه ی اپلیکیشن ها سرعت بخشد. ساعت کاری کمتر به معنای کسب درآمد بیشتر است.

مزیت ها:

– ORM توکار که همواره برنامه نویسان از آن لذت برده اند. نتایج در فرمت $post[‘Post’][‘field’] ارائه می شوند. ایجاد کوئری کار بسیار ساده ای می باشد و شما می توانید برای مثال یک پست را به همراه تمام کامنت های آن با یک یا دو خط کد fetch کنید.

– Routing معکوس. این قابلیت باعث می شود که نگهداری از لینک ها در یک اپلیکیشن بسیار ساده تر شود. به عبارت دیگر اگر شما در نقطه ای نام کنترلر را عوض کنید، به جای جستجو و جایگزینی ۲۰۰ نمونه از “admin/foo” با “admin/bar” جدید (با این امید که حتی یکی از آنها را فراموش نکنید)، به راحتی rout را در یک نقطه آپدیت می کنید. هر لینکی که از آرایه ی rout معکوس استفاده می کند نیز به صورت خودکار در زمان اجرا به نقطه ی صحیح اشاره می کند.

– اجتماع بزرگ. به دلیل این که Cake مدت زمان زیادی است که منتشر شده است، شما می توانید تقریبا برای هر سوال خود یک پاسخ به دست آورید. اگر نتوانید پاسخی برای سوالات خود نیابید، به وب سایت آن مراجعه کرده و سوالات خود را در آنجا مطرح سازید تا پاسخ داده شود.

– Plugin. این قابلیت باعث می شود که استفاده ی مجدد از کدها بسیار ساده شده و پوشه ی اپلیکیشن مرتب و تمیز حفظ شود (اگر برای مثال پلیکیشن را برای توزیع ایجاد کرده  از ماژول استفاده می کنید).

معایب

– کندی بیش از حد. نسخه های اخیر CakePHP بسیار سریع تر و کارآمد تر از نسخه های قبلی هستند اما هنوز هم Cake یکی از کند ترین فریم ورک هاست. نمی توان تصور کرد اگر اپلیکیشنی که با این فریم ورک ایجاد می شود، به یکباره مورد استفاده ی زیادی قرار بگیرد چه اتفاقی می افتد. سایت پلاگین موزیلا بر روی نسخه های قدیمی Cake اجرا می شود، همانطور که سایت های Bakery و Q&A مربوط به Cake نیز همینطور است و همگی آنها به خوبی اجرا می شوند. فرض بر این است که این یک تعادل بین caching و tuning مربوط به سرور باشد.

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

– گاهی اوقات باید فعالیت کد ها را محدود کنید. مثلا برای برخی، اولین قدم این است که AppModel را باز کرده و این قانون $recursive = -1 را تنظیم کرده و عبارت Containable را به Behaviors اضافه کنند تا از دریافت خودکار Model های مربوطه جلوگیری شود و به آنها اطلاع دهد که به چه چیزی نیاز دارند.

– بارگذاری خودکار می تواند دردسر ساز باشد. در نسخه های اخیر Cake، قابلیت Lazy Loading در قالب App::uses معرفی شده است. در این صورت اگر شما نیاز به دسترسی به کلاس Model داشته باشید، باید چیزی شبیه به App::users(‘Model’, ‘Data/Model’) را در بالای فایل قرار دهید. این کار کمی نا مرسوم است و بهتر از CORE_PATH.’Data/Model/Model.php’; نیست.

نتیجه گیری: Cake معمولا زمانی مورد استفاده قرار می گیرد که به ساخت سریع یک سایت داینامیک که کار زیادی از آن کشیده نمی شود، نیاز باشد (مثلا وب سایت یک رستوران محلی).

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

مطالب مرتبط

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

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

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

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

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

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

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