دسته بندی :
تاریخ انتشار : ۲۵ شهریور ۱۳۹۴
گردآوری و تالیف : حسام موسوی

کارمو با طراحی گرافیکی شروع کردم و حدود 2 سال طراحی گرافیکی میکردم بعد به طراحی وب علاقه پیدا کردم و همراه طراحی وب عاشق کدنویسی شدم به PHP | sass | css | Jquery | javaScript تسلط کامل دارم . در بین فریم ورک های PHP اول با CodeIgniter کار کردم اما به laravel علاقه مند شدم و دارم بطور حرفه ای دنبالش میکنم . امید من اینکه بتونم کاربرهای ایرانی رو به دنیای بیرون متصل کنم تا بتونن از فناوری های تازه آگاهی داشته باشن

بررسی اجمالی از لاراول

لاراول یک فریم ورک رایگان با زبان php است که برای توسعه برنامه های کاربردی وب مورد استفاده قرار میگیره . این فریمورک متن باز بوده و از الگویی (model-view-controller) پیروی میکنه . سهولت استفاده از اون ، دارا بودن پکیج های کاربردی و متنوع و همینطور دارا بودن جامعه بزرگی از برنامه نویسان php که به راحتی میتونید با اونها هر کجا در مورد مشکلتون صحبت کنید میتونه از امتیازات این فریم ورک یا هر فریم ورک دیگه php باشه . 

در حال حاضر تعداد زیادی از توسعه دهندگان به ارائه services مختلفی برای لاراول مشغولند ، که دلیله این میتونه خوانایی بالا و همینطور قابلیت های غنی لاراول باشه . یکی از جنبه های مهم استفاده از لاراول برای توسعه دهندگان دور بودن از برنامه نویسی اسپاگتی و دارا بودن یک syntax بدونه مشکل محسوب میشه. البته این برای فریم ورک های دیگه ای php هم میتونه حاکم باشه . 

اجازه بدید بریم سراغ تجزیه و تحلیل ویژگی ها، مزایا و آینده لاراول تا ببینیم میتونیم نتیجه بگیریم که لاراول بهترین فریم ورک php است یا خیر . 

ویژگی های لاراول

ویژگی های متعدد در لاراول باعث ارائه یک تجربه لذت بخش به توسعه دهندگان لاراول شده است البته در کنار نوشتن کدهای php زیبا و تمیز .

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

سیستم مسیریابی (Routing system) : لاراول با یک رویکرد بسیار ساده از مسیریابی پا به میدان گذاشته . مسیریابی میتونه در یک اپلیکیشن باعث انعطاف پذیری خوب و کنترل عالی در اون اپلیکیشن بشه . شما در نظر داشته باشید که برای هر url میتونید برنامه ای مخصوص داشته باشید که پیاده سازیشم خیلی خیلی راحته و این دستتون رو خیلی باز میزاره در ساخت یک اپلیکیشن انعطاف پذیر . 

View composers : این مفهوم یعنی View composers برای ارائه اطلاعاتی در view ها مورد استفاده قرار میگیره ، اونها گاهی بصورت callbacks هستیند یا گاهی به متد های متصلند . اگر شما قصد دارید یک سری اطلاعات رو به یک ویو که هر زمان اجرا میشه انتقال بدید میتونید از این مفهوم استفاده کنید . این تابع شبه توابع “presenters” یا “view models” در لاراوله . 

Application logic در هر اپلیکیشنی که میسازید میتونید برای کل اپلیکیشن از کنترل های متفاوتی استفاده کنید یا میتونید اصلا بطور مستقیم کدهاتون رو در داخل route ها بنویسید . لاراول دستون رو در انواع روش های کد نویسی باز گذاشته . 

Unit-testingاین قابلیت کمک میکنه تا آزمایش های متعدد روی کدهای در حال اجرا انجام بدیم ، تا مطمئن بشیم که تغییرات جدیدی که ایجاد کردیم بدونه هیچ مشکلی کار میکنن . از Unit-tests میتونید به راحتی بر روی کد های که نوشتید استفاده کنید . که این میتونه از رگرسیون (regressions) در یک فریم ورک جلو گیری کنه . 

Database seeding این یک فرآیند خودکاره . با استفاده از این مفهوم در لاراول شما میتونید یک سری اطلاعات پیشفرض رو در داخل جداولتون اضافه کنید که میتونه برای آزمایش اپلیکیشن برای راه اندازی اولیه مورد استفاده قرار بگیره .

علاوه بر ویژگی های فوق ، لاراول دارای ویژگی های زیاد دیگه ایه مثل اضافه کردن پیکج های مختلف به لاراول , صفحه بندی خودکار eloquent ORM , query builder , restful controllers , migrations, class auto loading و ... است . 

لاراول - چرا اون بهترین فریمورک php است

در میان انبوهی از فریم ورک ها ، لاراول از این جهت معروفترین فریمورکه که به توسعه دهنگان کمک میکنه تا یک وبسایت با کد های ساده و تمیز در کوتاه ترین زمان بسازنند . این فریم ورک تحت وب دارای syntax زیبا و رساست . کارهای که در یک پروژه ای تحت وب انجام میشه مثل احراز هویت ، مسیریابی ، sessions ، صف ها و کش ها به ساده ترین حالت در لاراول قابل انجامه . 

شرکت های متفاوت و زیادی از لاراول استفاده میکنن ، چون در لاراول قالب به یک طرح بندی ساده تبدیل شده است . وقتی با فریم ورک های دیگه مقایسه میکنید مثل مقایسه با کدایگنایتر لاراول دارای یک stack trace ( ردیابی پشته ها) دقیق است . همچنین ویجت های برای کار بهتر با css و js در لاراول وجود داره که در این فریمورک به این موارد هم اهمیت داده شده است . کتابخانه ها و مدل های مختلف که میتوایند به راحتی در این فریم ورک استفاده کنید چون این واقعیت در مورد لاراول وجود داره که لاراول دارای کتابخانه های شی گرا با پشتیبانی خودکار از ویژگی های کامل این فریم ورک است . 

مزایای استفاده از لاراول برای پی اچ پی

  • سیستم پکیج ماژولوار ای که باعث صرفه جویی در زمان میشه.
  • سفارشی سازی و تنظیم کردن فرایند ها بسیار ساده هستند.
  • ابزار برای کمک به محافظت از حملات xss و دیگر حملات . 
  • تمام کد های SQL در فایل های مدل جداگانه نگهداری مشوند . اینکار به به حفظ و نظارت بر روی کد ها کمک میکنند . 
  • و ... 

آینده لاراول

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

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

منبع : agriya

دوستانی که این مقاله رو خوندن اگه نظری یا موضوعی دارن که میتونه این پست رو بهتر کنه یا حتی اگه اشتباهی در این پست هاست حتما در بخش نظرات بگن تا به این مطلب اضافه بشه یا اصلاح بشه . با تشکر 

دیدگاه های مخاطبین

ثبت دیدگاه شما
  • مسعود

    با سلام و خسته نباشید
    اقا حسام سایتتون عالیه ، مرسی زحمت میکشید
    سوالی فقط!
    1-من تازه لاراول و شروع کردم از سایت خوبتون ، فقط به نظر بعضی از دوستان میگند که برا پروژه لاراول رو اینترنت نیاز به vps یا شل اکسس هست و روی هاست های اشتراکی نمیشه .میخاستم ببینم این حرف صحت داره یا خیر ؟
    اگه امکانش هست آموزش اجرا پروژه رو هاست رو بذارید ممنون میشم.
    2- اپدیت 5.1 لاراول نسبت به 4 خیلی تغییرات زیادی هم ساختارپوشه و فایلی هم تقریبا کدها تغییر نسبتا زیادی داشتند.این یعنی اینکه با هر اپدیت واقعا سخته پروژه قدیمی را با اپدیت جدید اوکی کردن ، حتی یادگیریش..چه راه حلی برای این بحث دارید شما ؟؟
    بازم ممنون.

    • admin

      سلام مرسی از نظرتون
      در رابطه با سوالهاتون باید بگم
      1- برای استفاده لاراول شما میتونید خیلی راحت روی یه هاست اشتراکی برنامه خودتونو آپلود کنید فقط بعضی اوقات بعضی هاست ها اذیت میکنن و دارا بود vps برا لاراول میتونه بهتر باشه ولی در هر صورت با هاست های اشتراکی هم میشه .

      2- خوب شما مجبورید که کدهاتون رو به نسخه آپدیت شده لاراول انتقال بدید ولی این کار خیلی سختی نیست ! لاراول با هر آپدیت سعی داره بهتر از گذشته باشه برای همینه برای همینه که تغییر ایجاد میکنه .

      اگه سوال دیگه ای بود در خدمتم

  • کاربر تازه وارد

    ممنون از پاسختون جناب موسوی عزیز
    آخه میخواستم ساخت یه سیستم مدیریت محتوای اختصاصی رو شروع کنم (با php) و یکی دو تا آموزش تو اینترنت هست که از هیچ فریمورکی استفاده نکردن، حالا فریمورکی مثه لاراول میتونه تمام نیازهای یک سیستم مدیریت محتوی رو فراهم کنه؟

    • admin

      بله با لاراول قابلیت ساخت هر چیزی رو دارید .

  • کاربر تازه وارد

    سوال ناشیانه منو ببخشید
    استفاده از فریمورک ها بخصوص لاراول بیشتر برای cmsها بکار میره یا اینکه در تمام پروژه، کار میشه باهاش؟

    • admin

      برای سوال پرسیدن اصلا لازم به معذرت خواهی نیست دوست من
      cms ها مدیریت محتوایی هستن مثل وردپرس .
      و فریمورک ها بیشتر شبیه به ابزاری هستن که بیشتر چیزها رو تو خودش دارن و شما میتونید با امنیت و سرعت اپلیکیشن های خودتون رو بسازید . شما میتونید با استفاده از فریم ورک ها حتی cms مخصوص خودتون رو بسازید .

  • behnam

    واقعا کسی نمی تونه محبوبیت لاراول رو انکار کنه
    ولی چندتا ضعف کوچیک و واقعا عجیب داره ..
    مثلا سیستم multi authentication در لاراول وجود نداره ..
    واسه جدا کردن بخش admin از دیگر بخشا مثل users ..
    اینکه اطلاعات ادمین با کاربرا تو یه جدول باشه زیاد خوش آیند نیست ..

    و همچنین اینکه سیستم paginate لاراول از group by پشتیبانی نمی کنه !!

    این ضعفای بزرگی نیستن .. ولی عجیبه که این ویژگی ها رو تو نسخه های جدید هم حتی اضافه نکردن !!

    • admin

      اینا مشکل به حساب نمیان
      ولی بودنشون میتونه خوب باشه
      در مورد multi auth درسته وجود نداره ولی با قرار دادن ACL در لاراول 5.1.11 بنظر یه کمک کوچیکی به اعتبار سنجیا و جدا کردن کاربرها و دسته بندی کردن اونا کردن .
      ولی بازم auth با یه جدول انجام میشه .

      در مورد پشتبانی نکردن paginate برای group by شما میتونید از کلاس Paginator لاراول برای صفحه بندیش استفاده کنید اگه اشتباه نکنم .

پیشنهاد میکنیم این مطالب رو هم مطالعه کنید :