مقدمه : در دنیای آیتی و آی سی تی با گذر زمان و رشد علم و علوم ارتباطات ،برنامه نویسان و توسعه دهندگان پروژه های گوناگون به مجموعه ای از کتابخانه های گوناگون که شامل توابع و دستورات اساسی یک پروژه برنامه نویسی میباشد نیازمند شدند که در مدت زمانی کوتاه بتوانند خروجی بهتر ، بی نقص تر ، سریع تر و در نهایت امن تری را از پروژه ی خود بگیرند.
همان طور که css فریم ورک های خاص و دوست داشتنی خود را مانند فاندیشن و بوت استرپ ، جهت بالا بردن سرعت عمل و طراحی سریع تر و کامل تر با ویژگی هایی منحصر به فرد را دارد زبان های برنامه نویسی پایه مانند php ،java ویا asp.net نیز فریم ورک هایی را با خصوصیاتی متفاوت برای خودشان دارا میباشند که کار برنامه نویسان و توسعه دهندگان را تا حد زیادی راحت و به کیفیت پروژه های آنها به مراتب می افزاید
در این مقاله که از سری مقاله های آموزشی یکی از فریم ورک های php به نام YIIمیباشد سعی شده است تا ابتدا با مفهوم فریم ورک و لازمه ی استفاده از آن در پروژه های خود آشنا شده و در ادامه به بررسی و تشریح فریم ورک های مختلف php می پردازیم و در ادامه آموزش مقدماتی و پیشرفته فریم ورک YII را به صورت پروژه محور خدمت شما ارائه خواهیم داد.
فریم ورک چیست : فریم ورک در اصطلاح به چارچوب نرمافزاری گفته میشود.
یک فریمورک مجموعهای از کتابخانههای برنامهنویسی و مجموعهای از قوانین برای برنامهنویسی است. برنامهنویسان فارغ از زبان برنامهنویسی که با آن فعالیت میکنند با فریم ورکهای برنامهنویسی نیز مواجهند. این فریم ورکها مجموعهای کدهای از پیش آماده، کتابخانههای برنامهنویسی و قوانین توسعهی نرمافزار هستند.
فریم ورک ها از توابعی از پیش نوشته با قاعده ی زبان برنامه نویسی مدظر ایجاد شده اند که برنامه نویس و توسعه دهنده را کمک میکند تا نوشتن کد های کمتر ودر دست داشتن توابعی تست شده و صحیح از نظر عملکرد و بهینه شده پروژه ی خود را پیش برده و خروجی بهتری بگیرند و پروژه را با زمان کمتر با کیفیت برتری ارائه دهند.
در این مقاله ی آموزشی قصد داریم فریم ورک yii که یکی از فریم ورک های مطرح php میباشد را معرفی و مختصری درباره ی مزیت آن صحبت کنیم ودر قسمت های بعدی آموزش به کار گیری این فریم ورک در پروژه های php را آموزش خواهیم داد.اما قبل از این که وارد مبحث فریم ورک yii بشویم میخواهیم فریم ورک های مطرح وپرکاربرد php را معرفی و خصوصیات هر فریم ورک را بیان کنیم .
فریم ورک های مطرح و پرکاربرد php :
۱ - Laravel – لاراول
لاراول یک فریم ورک جدید محسوب میشود که به خوبی توانسته است جای پای خود را بین برنامه نویسان و توسعه دهندگان وب محکم کند. این فریمورک با ترکیب بهترین روشهای برنامهنویسی و با استفاده از کتابخانههای محبوب php و در عین حال ایجاد فرآیندها و ساختاری منحصر به فرد توانسته به عنوان محبوبترین فریمورک برنامهنویسی به زبان php مطرح شود.یکی از ویژگی های منحصر به فرد لاراول استفاده از توابعی جهت بهره مندی از سئو در وب میباشد به صورتی که با بهینه سازی توابع و توابع منحصر سئو به راحتی میتوانید در موتور های جستجو معرفی و سایت خود را ارتقاع دهید.در زیر به برخی دیگر از ویژگی های لاراول که بیشتر برای اپلیکیشن های تحت وب مفید و کاربردی است میپردازیم :
- مسیریابی قابل برگشت بر مبنای RestFul
- کد نویسی تمیز و شسته رفته
- دارای ابزار پیشرفته
- دارای تکنولوژی Elequent ORM
- واجد تست
- پشتیبانی درونی از IoC (کنترل معکوس)
شما میتوانید این فریمورک را بصورت تخصصی و رایگان در وبسایت راکت آموزش ببینید
2 - CodeIgniter کد ایگنایتر
این فریم ورک وب متن باز خیلی سبک است و به توسعه دهندگان در ساخت سریع صفحات وب داینامیک کمک می کند. مستندات جامع و طبیعت انعطاف پذیر فوق العاده آن یادگیری این میکرو فریم ورک را خیلی ساده کرده است. از ویژگی های مهم این فریم ورک سبک بودن و در نتیجه سریع بودن آن است به گونه ای که توابع آ« به بهترین شکل مکن بهینه و بالاتر از استاندارد قرار گرفته اند و دیگیر ویژگی منحصر به فرد آن یاد گیری سریع آن است به دلیل ارائه ی مستندات کامل کد ها و کتابخانه ها برنامه نویسان خیلی راحت میتوانند از این فریم ورک بهره مند شوند.در زیر به برخی دیگر از ویژگی های این فریم ورک محبوب میپردازیم:
- ارائه یک کنترل شفت انگیز
- یادگیری آسان از طریق مستندات
- هاست استاندارد برای سازگاری بهتر(بعضی از هاست ها وجود دارند که برای استفاده از این فریم ورک پیکر بندی شده اند)
- تقریبا به پیکر بندی نیاز ندارد
- کتابخانه های یکپارچه در مقیاس بزرگ
- استفاده خیلی کم از منابع(ویژگی ردپای کوچک یا small footprint)
3 - فریم ورک CakePHP کیک پی اچ پی
این فریم ورک بر اساس Model-View-Controller و یا همان MVC کار می کند. و به دلیل سبک بودن سرعت زیادی در کدنویسی ایجاد میکند و برنامه نویسان میتوانند در پروژه های بزرگ خود از آن استفاده کنند.
از ویژگی های منحصر به فرد این فریم ورک میتوان به تعامل بدون شکاف با با بانک اطلاعاتی بر اساس ویژگی CURD اشاره نمود .به برخی دیگر از ویژگی های این فریم ورک سبک در زیر میپردازیم:
- کد نویسی حداقل
- بدون نیاز به XML و یا YAML برای پیکربندی دیتابیس
- ویژگی تایید و احراز هویت
- عملکردهای پیشرفته مثل دسترسی بانک اطلاعات و دسترسی ترجمه
- امنیت قوی در برابر SQL Injection و CSRF
4 - Symfony سیمفونی
از فریم ورک های بسیار قوی و تخصصی php میباشد که بسیاری از برنامه نویسان php برای پروژه های بزرگ و پیچیده ی خود از آن استفاده میکنند از خصوصیات این فریم ورک میتوان به مقیاس بندی و انعطاف بالا که نتیجه ی آن استفاده راحت تر و باز تر برنامه نویس و توسعه دهنده برای به کار گیری مهارت های گوناگون برنامه نویس در انجام پروژه ها میباشد. همان طور که گفته شد این فریم ورک نسبت به فریم ورک های دیگر قویتر و منعطف تر میباشد و مهارت های بیشتری را برای استفاده از آن نیاز دارید ازجمله تسلط به php5 ، شی گرایی در پی اچ پی، ORM ، کنسول و .... میباشد.
- برخی از ویژگی های این فریم عبارتند از:
- قایل انعطاف برای نیازهای توسعه دهندگان
- به توسعه دهندگان اجازه می دهد تا از آن به عنوان یک میکرو فریم ورک استفاده کنند
- توسعه دهندگان به سادگی قادر به سفارشی سازی هستند.
- مستندات جامع این فریم ورک به یادگیری آسان آن کمک می کند.
- دارای قایلیت توسعه بالا برای توسعه وب بهتر
5 - فریم ورک Zend
قدرت فریم ورک Zend در ساختار ساده و مفهوم شی گرایی آن است. از این فریم ورک بیشتر در توسعه و مدیریت اپلیکیشن ها و سایت های تجاری استفاده می شود. ویژگی های ویژه این فریم ورک عبارتند از:
- Swift برای گسترش API های اپلیکیشن و جریان کار
- وجود متدهای سریع طراحی برای ایجاد اپلیکیشن های درجه یک تجاری بزرگ
- پشتیبانی ابری باور نکردنی برای این نوع سرور ها
- اتوماسیون بدون حفره و درز و پردازش خیلی سبک
- پشتیبانی عالی بخش عمومی سایت که دارای ویرایشگر دارای Drag&Drop است
- اتصال شگفت انگیز بانک اطلاعاتی
6 - فالکون
بهترین و سریع ترین. این لقبی است که توسعه دهندگان و برنامه نویسان php به فریم ورک قدرتمند Phalcon نسبت داده اند.
با توجه به بنچمارک های مختلف ثابت شده است که این فریم ورک از بسیاری از فریم ورک های مطرح سریع تر میباشد و میتوان به راحتی لقب سریعترین فریم ورک پی اچ پی را از آن خود کند . این فریم ورک حتی در بعضی بنچمارک های مربوط به ارتباط با دیتابیس عملکرد بهتری از پی اچ پی ساده و فریم ورک های مربوط به آن را دارد.
فالکون به عنوان اکستنشن سی برای پی اچ پی نوشته شده.
از دیگر ویژگی این فریم ورک میتوان به فول استک بودن آن نام برد علاوه بر آن این فریم ورک قدرتمند امکانات لازم برای اتصال به دیتابیس MySQL و MongoDB،امکانات اعتبار سنجی و مسیر دهی و این نظیر امکانات را به صورت پیشفرض در خودش جا داده تا به فریم ورکی کامل و سریع تبدیل شود.
فریم ورک yii
فریم ورکی که در این مقاله آموزشی قصد آموزش آن را داریم فریم ورک Yii است. این فریم ورک باعملکر فوق العاده و پیشرفته خود توانسته است به یکی از فریم ورک های مطرح php تبدیل شود.این فریم ورک با ویژگی هایی از قبیل امنیت بالا و انعطاف پذیری بالا جهت استفاده سریع و آسان تر توسعه دهندگان نقش به سزایی در پیشرفت زبان برنامه نویسی php داشته است
این فریم ورک در سال 2008 توسط تعدادی از برنامه نویسان مجرب و حرفه ای که مدت زمان زیادی را بر روی پروژه های توسعه php framework مثل پروژه prado صرف کرده بودند عرضه شد. Yii با تمرکز روی نسخه ی 5 پی اچ پی تمام امکانات پی اچ پی پوشش میدهد که این یک نقطه ی قوت است چون از تمام ظرفیت های پی اچ پی استفاده میکند. در ساخت فریم ورک yii از الگوی طرح mvc استفاده شده است. mvc مدلی است که در مهندسی نرم افزار معرفی می شود و در این مدل اجزا برنامه به سه قسمت اصلی کنترل کننده- مدل- دیدگاه تقسیم می شود و جریان داده ها در آن برقرار می شود. yii تمام قواعد mvc را رعایت کرده است.
یک محیط کاملا شی گرا در yii شی گرایی به عنوان یک اصل اولیه رعایت شده است و دسترسی به همه چیز حتی دسترسی به جداول بانک اطلاعاتی و روباط و … نیز در قالب شی گرایی تعریف می شود
این فریم ورک از قابلیت برنامه نویسی generic حمایت می کند generic یک قابلیت برنامه نویسی است که هدف از آن پشتیبانی از انواع داده های ورودی بدون قید محدودیت نوع است و به عنوان یکی از روشهاو تکنیک های نوین برنامه نویسی استفاده می شود.
هماهنگی با jquery :
jquery همانطور که میدانید یک کتابخانه یا فریمورک بر اساس زبان javscript است که قابلیت فوق العاده بصری را در محیط کاری کاربر ایجاد می کند. فریم ورک yii با این platform هماهنگی و ارتباط مستقیمی را ایجاد می کند و امکان استفاده از قابلیتهای ajax را فراهم می کند.
استفاده از حالت caching پیشرفته :
yii از یک حالت caching بسیار پیشرفته برای کار با بانک اطلاعاتی استفاده می کند که یک مزیت عمده است و باعث سبک شدن فضای کاری و افزایش بسیار زیاد بازدهی می شود.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید