کارگروه
برنامه نویسی تحت وب
کلیه برنامه نویس تحت وب در این کارگروه می توانید دانش را در اختیار دیگران قرار داده و از دانش دیگران نیز استفاده نمائید
 

مروری بر فریم‌ورک‌Cake PHP ‌

صفحه اصلی کارگروهها >> برنامه نویسی تحت وب  >> مروری بر فریم‌ورک‌Cake PHP ‌
ندا طاهری

ندا طاهری

در کارگروه: برنامه نویسی تحت وب
تعداد ارسالي: 7
15 سال پیش در تاریخ: شنبه, ارديبهشت 26, 1388 11:52

همه چیز از آنجا شروع شد که زبان برنامه نویسی ‌Ruby‌ دارای فریم‌ورکی شد به نام ‌Rails‌ و بهره‌گیری از یکی مهم‌ترین معماری‌های پیاده‌سازی نرم‌افزار یعنی معماری ‌MVC‌، این دو را به ترکیبی سریع، قابل اطمینان و محکم برای توسعه نرم‌افزارهای وب تبدیل کرد.


این پدیده، بزرگترین جامعه دنیای برنامه‌نویسی وب، یعنی ‌PHP‌ را تکان زیادی داد. ‌PHP‌ انعطاف زیادی برای استفاده در برنامه‌نویسی سطح وب می‌دهد،‌اما نبود یک فریم‌ورک مطمئن و قابل انعطاف که بتوان به‌جای تمرکز در مسایل پیش پا افتاده، روی برنامه تمرکز کرد در این زبان به‌چشم می‌خورد. چندین فریم‌ورک در همان زمان‌ها تقریبا شروع به کار کردند، که ‌CakePHP‌ به‌همراه ‌Symfony‌ از دو فریم‌ورک مشهور ‌PHP‌ به‌شمار می‌روند. ‌ ‌







‌CakePHP‌ چیست؟

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

چرا کیک پی‌اچ‌پی؟

این بستر، چندین ویژگی دارد که نمی‌توان به‌سادگی از کنار آن گذشت. برخی از این ویژگی‌ها که قابلیت توسعه نرم‌افزاری مناسبی ایجاد می‌کند، در ذیل آمده است: ‌ ‌
1. جامعه فعال و دوستانه: یکی از مهم‌ترین نکاتی که امروزه در زبان‌های برنامه‌نویسی باید به آن توجه داشت، وجود جامعه اطلاعاتی پشت هر نرم‌افزار است. جایی که شما بتوانید سوالات خود را مطرح کنید و یا ایده‌های خود را با تولیدکنندگان کد به اشتراک بگذارید. ‌ ‌
2. مجوز انعطاف‌پذیر: شما برای توسعه رایگان کد یا فروش نرم‌افزار تحت وبی که نوشته‌اید، می‌توانید از این مجوز استفاده کنید. ‌ ‌
3. پشتیبانی همزمان از ‌4 PHP‌ و ‌5 PHP‌: هیچ بستر دیگری را نمی‌توانید پیدا کنید که بدون هیچ زحمتی، بتوانید روی سرورهای مختلف و بدون دغدغه این‌که چه نسخه‌ای از ‌PHP‌ روی آن اجرا می‌شود، نرم‌افزار خود را نصب کنید.
4. پشتیبانی از عملیات ‌CRUD‌، به‌طور پایه: دیگر نیازی نیست ذهن خودتان را درگیر بکنید و به مسایل ساده و پیش پا افتاده‌ای از جمله، ایجاد، به‌روز رسانی، مشاهده و یا حذف رکوردها از دیتابیس کد بنویسید. ‌ ‌
5. داربست‌زنی نرم‌افزار: داربست‌زنی یکی از جدیدترین امکاناتی است که یک بستر نرم‌افزاری می‌تواند به شما بدهد. فقط کافی است جداول دیتابیس را طراحی کنید و داربست را بزنید. نرم‌افزار به‌طور خودکار تمام فرم‌ها و صفحه‌های لازم را برای بررسی صحت جداول و پر کردن اطلاعات اولیه را به‌شما می‌دهد. بدون این‌که بخواهید به‌خود زحمت بدهید.
6. معماری ‌MVC‌: این معماری که با مفهوم جداسازی لایه‌های عملیاتی یک سیستم نرم‌افزاری به سه لایه، مدل: سمت سرور، کنترل‌کننده: کنترل‌کننده منطق شغلی و نمایش: لایه نمایشی، قالب‌ها و ... به‌وجود آمده است. سرعت رفع ایراد و تغییرات را در هر بخش به‌نحو قابل توجهی بالا می‌برد. ‌ ‌
7. توزیع‌کننده درخواست و آدرس‌های زیبا و قابل انعطاف: به‌کمک این دو ویژگی، دیگر از شر آدرس‌های طولانی و خسته‌کننده راحت می‌شوید و از طرف دیگر، می‌توانید تک‌تک درخواست‌های رسیده را بررسی کنید و پاسخ مناسبی به هر درخواست بدهید.
8. اعتبارسنج داخلی: به‌کمک اعتبارسنج داخلی این سیستم، می‌توانید داده‌های فرم‌ها را قبل از ارسال به دیتابیس، اعتبارسنجی کنید، مقدار آنها را تصحیح کنید و پیغام‌های خطای لازم را به کاربر بدهید. همه این‌ها با کمتر از 5 خط کد انجام می‌شود.
9. قالب‌بندی سریع و قابل انعطاف: نمی‌توانید باور کنید که سیستم قالب‌بندی این بستر چقدر ساده است و به توسعه نرم‌‌افزار شما کمک می‌کند. وجود کلاس‌هایی به نام ‌Helper‌ در سمت لایه نمایشی، باعث بالابردن میزان انعطاف این بستر و در نهایت، توسعه نرم‌افزار شده است و تجربه‌ای با آرامش خاطر را برای طراح وب به‌ارمغان می‌آورد.
10. کمک‌های مختلف، حتی سفارشی: در سمت لایه نمایشی، کلاس‌های کمکی وجود دارند که به‌کمک آنها می‌توانید کدهای ‌HTML‌، ‌Ajax‌ و ‌Form‌ها رابه سرعت و به‌شیوه استاندارد پیاده سازی کنید. همچنین می‌توانید کمک‌کننده‌های خود را برای ‌CakePHP‌ بنویسید.
11. کامپوننت‌های امنیتی، کوکی‌ها و مدیریت درخواست‌ها: نمی‌توانید باور کنید که کنترل امنیت در این سیستم چقدر ساده، اما محکم و بدون اشکال انجام می‌شود. ‌ ‌
12. به‌حافظه سپردن بسیاری از خروجی‌ها: می‌توانید با فعال کردن موتور حافظه نهان این سیستم، بسیاری از دستورات تکراری را به سیستم تعبیه شده در این بستر بسپارید و سرعت بی‌نظیری را تجربه کنید.
13. فیلترینگ داده: داده‌هایی که از سمت کاربر می‌آیند خطرناکند، مدیریت آنها نیز دقت و زمان زیادی را می‌طلبد، اما با کمک فیلترینگ داده این بستر، خیالتان از بابت پیاده‌سازی راحت است و کافی‌است بگویید می‌خواهید داده چطور‌ به‌‌‌دست‌تان برسد.
14. سازگار با هر سرور: کیک روی هر سرور وبی که ‌PHP‌ را نصب داشته باشد کار می‌کند. در صورتی که کمی سرور را تنظیم کرد، می‌توان بهترین کاربردها را از این بستر انتظار داشت.

تاریخچه

کیک‌در سال 2005 توسط میخایل تاتارینویژ ایجاد شد. پس از آن‌که استقبال نسبتا خوبی میان اطرافیان خود دریافت کرد، تحت مجوز ‌MIT‌ آن را منتشر نمود، یک جامعه اطلاعاتی برای آن ایجاد کرد و هم‌اکنون ‌CakePHP‌ توسط یک دوجین توسعه‌دهنده در حال پیشرفت است و نسخه 2/1 آن بعد از یک سال و نیم فعالیت مداوم منتشر شد.
کیک‌پی‌اچ‌پی به سرعت در میان اهالی توسعه‌دهنده وب جا می‌افتد و شاید استفاده موزیلا فایرفاکس از این بستر برای بخش افزونه‌های خود، اهمیت این بستر را نشان دهد..

حذف ارسالي ويرايش ارسالي