کتاب آموزش برنامه نویسی Ext JS
برای اولین بار در ایران
Ext JS
در مورد Ext JS بیشتر بدانید
خرید کتاب
مزایا و معایب فریم ورک Cakephp
دسته بندی ها :فریم ورک php
۱۷ مهر ۱۳۹۳
579 بازدید

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 معمولا زمانی مورد استفاده قرار می گیرد که به ساخت سریع یک سایت داینامیک که کار زیادی از آن کشیده نمی شود، نیاز باشد (مثلا وب سایت یک رستوران محلی).




نظراتتان را با ما در میان بگذارید

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