جهت طراحی وب سایت خود در این زمینه با ما تماس بگیرید
طراحی سایت وسئو

انواع فریمورک های php بخش 1

انواع فریمورک های php بخش 1

 159    0

در این مقاله به سه فریمورک Laravel و Symfony و Yii از فریمورک های php خواهیم پرداخت.

 

قبل از مطالعه ی این قسمت حتما آموزش زبان برنامه نویسی php و برخی از مزایا و قابلیتهای آن و برخی از انواع فریمورک های php را مطالعه بفرمایید :

 

فریمورک Laravel

 

* یکی از معروف ترین فرآورده های php می باشد و بسیار پیش برنامه نویسان و توسعه دهندگان php محبوب و مورد تایید است.


* این فریمورک در مدیریت برنامه های پیچیده تحت وب بسیار کاربردی می باشد. سرعت این فریمورک بسیار بالا می باشد و همچنین در تامین امنیت می‌تواند یکی از بهترین گزینه ها به حساب آید.


 * معماری این فریمورک MVC می باشد و همچنین لارول اپن سورس است و میتوان بدون پرداخت هزینه ای از امکانات هوشمند این فریمورک بهره برد.


 * به خاطر اینکه این فریمورک ساختاری قابل درک و فهم دارد، برنامه نویسانی که به زبان php آشنایی دارند به راحتی می‌توانند از این فریم ورک استفاده نموده و بر برنامه‌های خود تمرکز نمایند.


* این فریمورک می‌تواند به راحتی پاسخگوی نیازهای شما در ساخت یک برنامه php باشد.لاراول  را به راحتی می توان با انواع کتابخانه های متنوع ترکیب کرد و به آن وسعت بخشید.


* البته علاوه بر کتابخانه‌ها، لاراول امکان گسترش یافتن با سیستم‌عامل‌های شخص ثالث مانند AWS را نیز دارد.این فریمورک با قابلیت نظم بخشیدن به اجرای کارها و اجرا نکردن همزمان همه کارها با هم، باعث بهبود عملکرد سایت می‌شود.


* این فریمورک دارای زبان قالب سازی خاصی به نام Blade میباشد.


* همچنین نحوه ارتباط این فریمورک با پایگاه داده، استفاده از Eloguent ORM میباشد.

 

 

ghvh,g

 

 

انواع قالب های مهم از فریمورک Laravel

 

 

1. کش کردن


2. صفحه بندی خودکار


3. سیستم مایگریشن امن


4. ماژوله بودن


5. ابزار ساخت کوئری های دیتابیس


6. قابلیت تست


7. مسیریابی


8. موتور قالب سازی مدرن


9. مدیریت پیکربندی 


10. E-mail


11. احراز هویت


12. قابلیت Redis


13. قابلیت صف


14. Command Bus


15. ویژگی Anony mouse 


16. Query Builder


17. مقیاس پذیری


18. Stub Migrations


19. مجهز به ابزار Composer


20. ORM مجهز به ابزار


21. ویژگی auto-loading


22. پشتیبانی از انواع پایگاه داده ها


23. مجهز بودن به خط فرمان Artisan


24. دارای کتابخانه های شی گرا


25. امکان نصب و سفارشی سازی

 

 

معایب فریم ورک Laravel

 

 

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


* به این دلیل که این فریمرک  دارای انواع مستندات می باشد و برای اینکه با این فریمورک شروع به کار کنید باید آموزش‌های لازم را دیده باشد.


* کمی برای افراد مبتدی ممکن است سخت باشد چرا که از ابزارهای مسیریابی معکوس استفاده می کند. البته این فریمورک نسبت به فریمورک سیمفونی برای افراد مبتدی مناسب تر می باشد.


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


* ماژولار ها در همه جای آن وجود ندارد و ممکن است این مورد باعث دردسرهایی برای توسعه‌دهندگان شود‌.


* نسبت به برخی دیگر از فریمورک ها از پشتیبانی ضعیف تری برخوردار است.


* دارای تعداد محدودی از پکیج های مخصوص تجارت الکترونیک می باشد.


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

 

 

فریمورک Symfony

 

 

سمفونی

 

 

* این فریمورک پایه فریمورک لاراول می باشد.


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


* از این فریمورک در طراحی و ایجاد وب اپلیکیشن ها استفاده می شود.


* سیمفونی یکی از فریمورک های محبوب برنامه نویسان در ایجاد ساختارهای برنامه نویسی خاص هر برنامه نویس محسوب می شود.


* این فریمورک دارای مجموعه ای از نرم افزارها می باشد که به برنامه نویسان در انتخاب عملکردهای php مورد نیازشان مجوز می‌دهد و حتی با این نرم افزار ها می توان به راحتی از کل چارچوب استفاده نمود .


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


* سیمفونی برای استفاده توسعه‌دهندگان بسیار مورد اعتماد میباشد.


* معماری این فریمورک MVC می باشد.


* با قابلیت ها و امکاناتی که دارد توانسته است تمامی استانداردهای php را رعایت نماید. همچنین سیمفونی قابلیت ترکیب شدن با برخی از پروژه ها مانند دروپال را دارا می باشد و همچنین می توان برای نصب و استفاده از این فریمورک از هر پلتفرمی بدون ایجاد تغییرات مهم استفاده نمود.


* همچنین فضایی که سیمفونی اشغال می کند بسیار کم می باشد در واقع بسیار سبک و کم حجم است.


* برای اینکه سرعت پیاده سازی برنامه های ساخته شده با این فریمورک را بالا برد و به آنها وسعت بخشید، برای این فریمورک ماژول های خاصی ارائه شده است.


* برنامه نویسان و توسعه دهندگان وقتی از این فریمورک در ایجاد توسعه برنامه استفاده می کنند، به راحتی می‌توانند از بلوک‌های ساخت نرم افزار نیز استفاده نمایند.


* این فریمورک یک ویژگی مهم و اساسی نیز دارد و آن این است که می‌توان از کامپوننت های php دوباره استفاده نمود، بدون آنکه مشکلی در روند کار پیش بیاید.


* سیمفونی دارای انواع مولفه ها و کتابخانه های PHP می باشد.


 * از این فریمورک می توان در توسعه پروژه‌های بزرگ استفاده نمود و همچنین سیمفونی بسیار پرسرعت می باشد چرا که دارای ویژگی قابلیت استفاده مجدد میباشد و باعث میشود دوباره کاری پیش نیاید.


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


*  ولی برای افراد حرفه ای انتخاب اینکه از کدام یک از این دو فریمورک در توسعه برنامه‌های خود استفاده نمایند، تصمیم سختی خواهد بود.


* ناگفته نماند که سال معرفی نسخه اول فریمورک سیمفونی سال ۲۰۰۵ می باشد.


* این فریمورک دارای ساختار یکپارچه ای می باشد و معماری که در این فریمورک به کار گرفته شده است، بسیار خوب و مناسب می باشد.


* همچنین سیمفونی هم برای توسعه اپلیکیشن های تحت وب و هم برای توسعه صفحات وب بسیار مناسب می باشد.


* این فریمورک دارای انواع دسته ها و مولفه ها می باشد که مزیت بسیار مهمی برای این فریمورک به شمار می‌آید. ۳۰ مولفه برای فریمورک سیمفونی قابل دسترسی میباشد.


* از این فریمورک می توان برای ایجاد اپلیکیشن های کاربر محور استفاده نمود و در واقع اپلیکیشن هایی را  که با این فریمورک ایجاد می نمایند، میتوانند سفارشی سازی نمایند.

 


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

 


* Full-stack ( ساخت اپلیکیشن های پیچیده با چند منظوره )

 


* Brick-by-Brick   ( توسعه اپلیکیشن با ویژگی های منحصر به فرد  )

 

 

 * Micro-Framework ( طراحی و توسعه اپلیکیشن هایی با یک ویژگی خاص )

 

 

* با توجه به اینکه از این فریمورک برنامه نویسان و توسعه‌دهندگان زیادی استفاده می‌کنند، باعث شده است که این فریمورک بیشتر از برخی دیگر از فریمورک ها به روز رسانی شود و به نوآوری های بیشتری دست یابد.


* همچنین این فریمورک نیز مانند فریمورک لارول به موتور قالب سازی قوی مجهز می باشد.


* دیگر ویژگی که در این فریمورک وجود دارد این است که دارای مدیریت Cache نیز میباشد.

 

 

معایب فرم ورک Symfony

 

 

* امکان وجود خطا در تجزیه فایل ها به علت دارا بودن محدودیتهای Doctrine در مواقع دسترسی به دیتابیس


* دارای مکانیزم برقراری امنیت پیچیده


* عدم دسترسی آسان به نرم افزارهای جانبی فریم ورک سیمفونی


* مناسب نبودن برای افراد مبتدی به خاطر پیچیدگی‌های خاص خود


* کارایی ضعیف تر نسبت به فریم ورک لاراول


* در همه موارد نمیتوان به بازدید نهایی مورد انتظار برنامه نویسان دست یافت


* مناسب نبودن برای ساخت شبکه های اجتماعی و موارد مشابه به خاطر ضعیف بودن در سرویس های Real Time

 

 

فریمورک Yii

 


# کلمه Yii مخفف عبارت yet it is می باشد. نسخه اول این فریمورک به طور رسمی در سال ۲۰۰۸ منتشر شد.


 # هر کس که با این فریمورک کار کرده است می‌داند که این فریمورک در تولید کد ها چقدر سریع کار میکند و چقدر راحت می تواند با دیتابیس ها ارتباط برقرار نمایند.


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


# همچنین اپن سورس می باشد و به صورت شی گرا و مبتنی بر مولفه ها است.


# با این فریمورک می‌توان به صورت کاملاً امن و حرفه ای به ایجاد انواع پروژه ها پرداخت.


# از این فریمورک می توان برای ایجاد انواع برنامه های وب استفاده نمود از جمله این برنامه‌ها عبارتند از: انجمن ها، وب سایت های تجارت الکترونیک، خدمات Rest ful، سیستم های مدیریت محتوا، پرتال ها.


# کامپوننت هایی که برای این فریمورک موجود است، بسیار زیاد می باشد. برای مثال کامپوننت های مانند User، catch، Log، که می توانند روی برنامه ها نصب شوند و قابلیت های اضافه تری برای این فریمورک اضافه نمایند.


# برای توسعه این فریمورک می توان از فریم ورک های دیگر php نیز استفاده نمود، چرا که این فریمورک ها قابلیت سازگاری با آنها را دارد.


# با این فریم ورک می توان انواع محدودیت ها و تنظیمات را روی برنامه هایی که ایجاد شده است، اعمال نمود. چرا که دارای سیستم Catch می باشد.


# نصب این فریمورک با استفاده از Composer انجام می گیرد. بنابراین بسیار راحت و آسان نصب میشود. این فریمورک دارای مجموعه ای از مستندات رسمی میباشد و به راحتی می‌توان از آنها استفاده نمود.


# می توان گفت در بین فریمورک های php، فریمورک YII از همه آنها پیشرفته تر می باشد. چرا که از اتصال استاتیک، کلاس ها و روابط SPL و توابع ناشناس می تواند استفاده نماید.


# این فریمورک دارای ماژولی به نام GII می باشد که به توسعه دهندگان در نوشتن کدنویسی کمک بسیاری می‌کند و باعث می‌شود، کدگذاری دستی توسط برنامه نویسان کاهش یابد و سرعت کدنویسی نیز زیاد شود.


# نحوه کمک رسانی Gii به این صورت است که کدنویسی خودکار را در اختیار آنها قرار می‌دهد تا از نوشتن دستی کدها جلوگیری شود.ماژول Gii یک ماژول فوق العاده محسوب می شود و به وسیله آن می توان انواع کارها را انجام داد. مثلاً با استفاده از ماژول Gii میتوان برخی از کلاس های مهم را ایجاد نمود.مثلا کلاس های مدل و کنترلر.


#  میتوان از قالب هایی که به صورت شخصی سازی شده در آمده اند، در این ماژول استفاده نمود.


# همچنین می‌توان این ماژول را توسعه داد و امکان نوشتن ابزارهای شخصی در این ماژول وجود دارد.


# این ماژول قابلیت ایجاد فرم هایی را در برنامه دارا می باشد.


# با استفاده از این ماژول می توان برنامه نویسی ماژولار داشت، چرا که این امکان را فراهم می کند که ماژول های جدیدی را نیز ایجاد کرد.

 


این فریمورک برای ایجاد وب اپلیکیشن ها دو نوع، بسته دارد :


در واقع این فریمورک بین وب اپلیکیشن های ساده و پیچیده تفاوت قائل شده است و برای هر کدام بسته جداگانه ای را تامین کرده است.

 


 این دو بسته شامل بسته Yii Basic وYii Advance می باشد.

 


 همانطور که از اسمشان نیز میتوان فهمید Yii Basic برای وب اپلیکیشن های ساده در نظر گرفته شده است و Yii Advance برای وب اپلیکیشن های پیچیده مناسب است.البته این دو بسته را اگر بخواهیم از نظر هسته آنها مقایسه نماییم، می توان گفت کاملا شبیه به هم می باشد و هیچ تفاوتی نمی توان بین آنها قائل شد.ولی از نظر قالب این دو کاملاً از هم متفاوت هستند.

 

با Yii Advance می توان هر پوشه خاص را برای هر وظیفه خاص خود، ایجاد نمود و در آخر همه آنها را به هم متصل نمود و برای تهیه یک پروژه خاص که همگی به صورت یکپارچه و هماهنگ باشند، ولی هر یک وظیفه خاص خود را انجام دهد و هیچکدام در وظیفه دیگری دخالتی نداشته باشد.
وقتی از فریم ورک های Yii استفاده می کنید، نباید نگران امنیت پایگاه داده های خود باشید، چرا که این فریمورک می‌تواند پایگاه داده شما را از حملات  SQL Injection حفظ نماید و اجازه سقط داده ها و یا ایجاد ساختارهای مخرب را ندهد.

 


مدیریت Asset در فریمورک Yii به دو صورت انجام می گیرد.


# در این فریمورک هم می توان به صورت دستی Asset ها را مدیریت کرد و هم می‌توان با استفاده از Asset Manager به این امور پرداخت.


# امکان استفاده از Asset Manager در اکثر فریم ورک های php وجود ندارد و اغلب به صورت دستی امکان پذیر می باشد.


# این فریمورک می تواند رابطه کاربری عالی برای پایگاه داده ها ایجاد نماید.


# تعداد نسخه‌های این فریمورک زیاد نمی باشد و فقط دو نسخه ۱.۱ و ۲.۰ از آن در دسترس افراد قرار گرفته است.


# نسخه ۲.۰ بیشتر از نسخه قبلی مورد استفاده قرار می‌گیرد، چرا که شامل انواع فناوری های نوین می‌باشد. همچنین این نسخه دارای انواع ابزارهای توسعه قدرتمندی که بر پایه agile در php میباشد.


# در این فریمورک از انواع ویژگیهای پلتفرم Prado استفاده شده است.


# این فریمورک نسخه های ۱ تا ۴ php را پشتیبانی نمی‌کند و نسخه‌های ۵ به بالاتر را پشتیبانی میکند.


# فریمورک Yii نمی‌تواند از قابلیت برنامه نویسی generic نیز حمایت نماید و همچنین می‌تواند با jguery هماهنگ شود.


# فریمورکی به نام prado ایجاد شده بود تا برنامه‌های وب را بر اساس شی گرایی پیاده سازی نماید. ولی این فریمورک نتوانست در این مسیر به موفقیت برسد و در نتیجه استفاده آن کنار گذاشته شده. ولی با توجه به اینکه این که بسیار فلسفه قوی داشت، توسعه دهندگان به فکر این افتادند که اشکالات آن را رفع کنند و تغییرات اساسی روی آن فریمورک را انجام دهند تا بتوانند این فریمورک را قابل استفاده نمایند.


# از این رو با اعمال تغییراتی آن را توسعه دادند و اشکالات بزرگ ان را رفع نمودند و در نتیجه با فریمورکی روبه‌رو شدند که شباهت زیادی با فریمورک prado نداشت، بنابراین تصمیم گرفتند نام جدیدی برای آن انتخاب نمایند. بنابراین نام جدیدی به نام Yii را برای آن انتخاب نمودند.


# نحوه انجام کار Yii بدین شکل می باشد که از ماژول های مختلف در کنار هم استفاده می کند، تا بتواند پروژه نهایی را تحویل دهد. این ماژول ها هر کدام وظیفه خاصی دارند و در کنار یکدیگر به وظیفه خود عمل می کنند و در نهایت منجر به طراحی وب سایتی می شوند.


# این یک مزیت برای فریمورک Yii به حساب می‌آید، چراکه برنامه نویسان برای ویرایش تا توسعه هر یک از ماژول ها نیازی نیست که در ماژول های دیگر تغییری اعمال نمایند.


# دیگر ویژگی که در این فریمورک وجود دارد این است که از ساختار WSDL استفاده می نماید. استفاده از این ساختار باعث خواهد شد که ریکوئست ها را در سمت سرور به خوبی و به طور مناسب و ایده‌آل کنترل نمود.


# در واقع این ساختار درختی که شباهت بسیاری به XML دارد برای بیان نقشه و طرح صفحات وب کاربرد دارد.


# صفحاتی که با فریمورک YII ساخته می شوند دارای قابلیت کشت کردن صفحات و ماژول های پرکاربرد می باشد و این دیگر مزیت آن به حساب می آید.


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

 


در متن فوق به ویژگی ها و قابلیت های فریمورک Yii پرداختیم، مطمئناً این فریمورک دارای معایب و ضعف‌های هم خواهد بود. در ادامه می خواهیم به بررسی آنها بپردازیم.

 


* این فریمورک در اعمال آپدیت ها و همچنین ساز کار کردن خود با انواع تکنولوژی ها، نیازمند صرف زمان می باشد و می توان گفت در این زمینه سرعت خیلی کندتری نسبت به برخی دیگر از فریم ورک های php دارد.


* این فریمورک برای طراحی ظاهر سایت مناسب نمی باشد. چون که قالب سازی که Yii برای طراحی ظاهر سایت ارائه می‌دهد،  زیاد کاربردی نمی باشد. چون هم دارای ایرادات و مشکلات زیادی می‌باشد و هم اینکه کار کردن با آن سخت است و همه افراد نمی‌توانند به راحتی از آن استفاده نمایند.


* با اینکه این فریمورک دارای انواع داکیومنت های انگلیسی در اینترنت می باشد ولی داکیومنت های فارسی زیادی برای Yii وجود ندارد. پس افرادی که به زبان انگلیسی تسلط نداشته باشند در استفاده از این فریمورک به مشکل برخواهند خورد.


* خطایابی Yii ضعیف می باشد. این یک ایراد بسیار بزرگ برای آن محسوب می‌شود، چرا که هر کسی ممکن است در نوشتن کدها اشکالاتی داشته باشد و این فریمورک ها هستند که باید بتوانند آنها را پیدا کنند و به برنامه نویس اطلاع دهند تا آن ایرادات رفع شود.


* مطمئنا شما خود نیز میدانید که در صورت رفع  نشدن برخی از اشکالات اساسی کدنویسی، می‌تواند پیامدهای ناگواری را پدید آورد.


* فریمورک Yii از عهده این وظیفه به خوبی بر نمی آید در نمایان ساختن اشکالات کد نویسی ضعیف عمل می‌کند. 


* این فریمورک دارای فایل های آموزشی می باشد که کاربران به سادگی نمی توانند آن ها را درک نماید و از آنها استفاده کنند.


* استفاده از این فریمورک در پروژه های بزرگ و سخت توصیه نمی‌شود. چرا که مدیریت کلاس ها و توابع بسادگی دیگر فریمورک های php نمی باشد.

 

بعد از مطالعه ی این قسمت انواع فریمورک های php بخش 2 را مطالعه بفرمایید :

 


به نقل از:
جهت طراحی وب سایت خود در این زمینه با ما تماس بگیرید                        

با رزومه بسیار بالا در سطح کشور

                                 

طراحی سایت فروشگاهی آگهی ساخت بازی آنلاین


نظر خود را با ما درمیان بگذارید: