فریم ورک CakePhp

فریم ورک CakePhp

10 مرداد 1398

Cakephp چیست؟



 



Cakephp یک فریم ورک نرم افزاری تحت وب آزاد با معماری MVC برای تولید برنامه های وب است که به زبان php نوشته شده است. مفهوم MVC بر اساس جداسازی بخش های اساسی تعریف شده است. این تقسیم کردن باعث میشود تا کنترل و توسعه کدها به بهترین شکل ممکن انجام شود. کیک یک فریم ورک ساخت یافته است که کاربران php در هر سطحی را قادر میسازد که بتوانند برنامه های قدرتمند تحت وب را به سرعت گسترش داده و بتوانند به سادگی اشیا و متد های خود را تحت این فریم ورک به کار گیرند.



 



چرا از این فریم ورک باید اسفاده کنیم؟



 



یکی از سوالاتی که ذهن برنامه نویس وب را به خودش مشغول خواهد ساخت این است از میان فریم ورک های موجود برای برنامه نویسی php همانند : Symphony و CodeIgniter و ... چرا باید از این فریم ورک کیک برای پیاده سازیروژه های خود برگزینیم؟



 



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



 



مهمترین مزایای استفاده از Cakephp در توسعه برنامه های کاربردی تحت وب و سایت ها را می توان موارد زیر برشمرد :



 



1 – فعال و جامعه دوستانه



 



2 – مجوز انعطاف پذیری کدها



 



3 – برنامه داربست شده



 



4 – معماری MVC



 



5 – درخواست توزیع کننده با آدرسدهای کوتاه و سفارشی



 



6 – قالب سریع و انعطاف پذیر



 



7 - راهنما برای نمایش آژاکس، جاوا اسکریپت، فرم ها و امکاناتی شامل : ایمیل ، کوکی ، امنیت ، جلسه ، درخواست و جابه جایی قطعات



 



8 – انعطاف پذیری توسط ACL



 



9 – کش انعطاف پذیر



 



10 – محلی کردن



 



11 – بدون نیاز به پیکربندی آپاچی و کارکردن با استفاده از هر دایرکتوری وب 



 



12 – پشتیبانی از الگوهای طراحی رایج



 



13 – توسعه سریع تر وب



 



14 – سازگاری با نگارش های php 5 , 4



 



15 – متن باز و مجانی بودن



 



16 – ساختارهای کد اصلاح شد



 



پشتیبانی از الگوهای طراحی رایج :



 



الگوهای طراحی (pattern design) راه حلی کلی برای مشکلات رایج در برنامه نویسی وب است. الگوی طراحی کد کامل نیست بلکه راهکاری برای حل مشکل است که در شرایط گوناگون مورد استفاده رار میگیرد. در برنامه نویسی تحت وب الگوهای طراحی زیادی برای حل مشکلات رایج که اکثرا تکراری نیز میباشند، وجود دارد. Cakephp تعداد زیادی از این الگوهای طراحی را به طور تو کار و یکپارچه شده پشتیبانی می نماید.



 



برخی از این الگو ها که اشاره نیز شد عبارت اند از:



 



رکود فعال، کنترل جبهه، بخش نقشه برداری داده ها و معماری MVC ، در بین موارد مذکور معماری MVC که بر اساس مدل نما (view) و کنترل کننده (controller) استوار است.، در هسته Cakephp موجود بوده و در واقع ستون فقرات cakephp را تشکیل میدهد.



 



توسعه وب به صورت سریع:



 



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



 



سازگاری با نگارش های php 5 , 4



 



Cakephp با هر دو نگارش php 4 , 5 سازگاری کامل دارد، بنابراین برنامه کاربردی ایجاد شده با استفاده از cake به راحتی قابل حمل بوده و اجرا میشود.



 



Cakephp رایگان و open source است :



 



Cake به صورت مجانی و open source تحت لیسانس MIT عرضه میگردد و تا به امروز به طور رسمی نگارش غیر مجانی از تیم توسعه دهنده عرضه نشده است. با این تفاصیل اگر شما یک php کار مبتدی هم که باشید با سهولت تمام می توانید با کمک سورس ها و کامنت های موجود منطق توابع، کلاس ها، کتابخانه ها و ... را دریابید.



 



ساختار اصلاح شده کدها:



 



Php یک زبان برنامه نویسی فوق العاده برای توسعه وب بوده و یادگیری آن نیز تقریبا آسان است و ساختاری شی گرا همانند C++ دارد. این زبان در هنگام کد نویسی بسیار انعطاف پذیر بوده و کدنویس یا توسعه دهنده را محدود و مقید به رعایت ساختار خاصی نمیکند. البته این مسئله در عین حال که مزیت است مشکل هم هست! برای برنامه نویسان کم تجربه و تازه کار ایجاد برنامه های بزرگ مشکل است زیرا در اکثر موارد کد های غیر ساخت یافته دیباگ و رفع اشکال را بسیار مشکل مینماید. علاوه بر آن ایجاد تغییرات در برنامه نیز وقتی منطق در جایی تغییر کند میتواند باعث مشکلات زیادی گردد. البته این مشکلات مختص برنامه نویسان تازه کار نیست بلکه زمانی که یک برنامه پیچیده میشود مشکل حرفه ای ها نیز خواهد شد. اوضاع زمانی وخیم تر میشود که چند توسعه دهنده با هم بروی یک پروژه کار میکنند و هر کدام از آن ها بر اساس سلیقه خودشان کد مینویسند، در نتیجه جمع آوری کدها، بهینه سازی و در نهایت یکپارچه سازی پروژه بر اساس اصول مهندسی نرم افزار خودش پروژه دیگری خواهد شد.



 



اما طراحان cake مشکل فوق الذکر را چنین حل کرده اند که معماری cake توسعه دهندگان را محدود به رعایت ساختاری خاص میکند، بنابراین کلیه کدها ساختار خاصی را رعایت نموده و از لحاظ ساختاری واحداند در نتیجه مدیریت ، نگهداری و توسعه کدها را آسان خواهد کرد. جهت رعایت کردن ساختارهای استاندارد cake از الگوهای طراحی استفاده میکند که مهمترین آن ها معماری MVC است.



 



الگو یا معماری MVC



 



الگوی MVC مخفف Model View Controller است. به اعتقاد برخی، رایج ترین الگوی جدید طراحی در توسعه نرم افزار است. در این الگو یا معماری همان طور که گفته شد، کد ها به سه نوع تقسیم میشوند : مدل ها و نماها و کنترل کننده ها.



 



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



 



ادامه دارد ...