لاراول چیست؟

لاراول

لاراول چیست؟

برای معرفی لاراول ابتدا باید فهمید PHP  چیست ؟ PHP یکی از زبان های پر استفاده برای برنامه نویسی وب می باشد که کاربرد بسیار وسیعی دارد. این زبان طی چند سال اخیر با اضافه کردن امکانات مدرن و پیشرفته، تکامل یافته و توانسته است همه نیازهای برنامه نویسان را تمام و کمال براورده سازد. با گسترش PHP  و افزایش محبوبیت اش، Framework های بسیاری ظهور کردند اما تنها بعضی از آنها، از همه قابلیت های زبان PHP  استفاده کرده اند.

هر کدام از فریم ورک های PHP امکانات، قابلیت ها و پیاده سازی مختص خود را دارند. لاراول LARAVEL نیز امکانات و تکنولوژی های مختص خود را دارد ازقبیل: Eloquent  ، Routing  ، Blade ، سیستم Authentication مختص خود لاراول و Homestead  .این امکانات، لاراول را تبدیل به یک فریم ورک قدرتمند ساخته اند. به واسطه معماری پیشرفته و syntax زیبای laravel باعث خواهد شد شما نیز عاشق آن شوید.

محبوب ترین فریم ورک PHP

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

لاراول توسط Taylor Otwell  در سال 2011 ساخته شده و تا به امروز به میزان قابل توجهی آن را توسعه و گسترش داده است به طوریکه امروزه لاراول ، با تمام تکنولوژی های برتر وب، سازگار و همگام است. این فریم ورک جادویی، دارای اکوسیستم بسیار بزرگی است که شامل امکاناتی نظیر: هاستینگ و پیاده سازی آسان، ORM  ، DB query  ، Routing  ، Blade  و غیره می شود.

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

فریم ورک لاراول،محبوب ترین فریم ورک php از معماری سه بعدی MVC   و چارچوب سیمفونی تبعیت می کند. این امر باعث می شود آموزش لاراول آسان گشته و طراحی اپلیکیشن یا سایت با آن سریع تر پیش برود. لاراول با استفاده از امکانات داخلی و شخصی خود از قبیل mail ، authentication ، routing ، sessions و … سختی توسعه اپلیکیشن ها را کاسته و شیرین تر کرده است.

بررسی میزان محبوبیت فریم ورک های PHP در گوگل ترند، حاکی از رشد روز افزون محبوبیت فریم ورک Laravel است. به همین دلیل اکثر شرکتهای بزرگ و کوچک به دنبال جذب برنامه نویس مسلط به لاراول هستند و کار با آن یکی از مشاغل پر درآمد جهان می باشد.

تاریخچه لاراول

لاراول 1 :

این نسخه در 9 ژوئن 2011 رونمایی شد که شامل امکانات زیر بود :

  • authentication یا همان سیستم احراز هویت لاراول: برای آشنایی بیشتر به این مقاله مراجعه فرمایید.

 

  • localization یا قابلیت چند زبانه بودن لاراول

 

  • models یا همان مدل ها : جهت آموزش این قابلیت به این آدرس مراجعه فرمایید .

 

  • views

 

  • sessions

 

  • routing یا آدرس دهی و تعریف مسیر یا url .جهت آموزش این قابلیت به این آدرس مراجعه فرمایید .

 

و چند امکان و مکانیسم دیگر. اما به دلیل عدم پشتیبانی  از کنترلر ها controller، نمی توانست عنوان MVC را به دوش بکشد.

لاراول2 :

در سپتامبر 2011 منتشر گردید و امکاناتی چون Controller  و Blade نیز به آن اضافه گردید که لاراول را به معنای واقعی در لیست فریم ورک های PHP قرار داد. از آن به بعد می توانستند ادعا کنند که Laravel   بر پایه MVC ساخته و طراحی شده است.

لاراول3 :

در فوریه 2012 رونمایی شد و شامل امکانات اضافی چون : خط فرمان Artisan  ، Event یا همان رویداد ها، Migration برای جدول های دیتابیس و سیستم پکیجینگ که به Bundles معروف است، بود.

لاراول4 :

در ماه مه 2013 انتشار یافت و امکانات زیادی چون database seeding  ، Queue  یا صف بندی، پشتیبانی از ارسال انواع ایمیل و قابلیت soft delete استفاده می برد.

لاراول5 :

درست بعد از نسخه 4.3 در فوریه 2015 منتشر شد. از جمله امکاناتی که به این نسخه اضافه گردید Scheduler  بود. ابزار یا امکانی که به برنامه نویس قدرت زمان بندی وظایف را می داد. بهینه کردن پکیج‌های assets از طریق Elixir و سهولت سیستم احراز هویت از طریق پکیج Socialiteو همچنین معرفی ساختار درختی  برای ساخت اپلیکیشن از دیگر امکانات لاراول 5 بود. لاراول تا نسخه 5.8 امکانات گسترده ای به این فریم ورک اضافه کرد و نیز باگ ها و مشکلات بسیاری را رفع نمود که در زیر به برخی از آنها  اشاره می شود :

  • افزایش سرعت توسعه برای توسعه دهندگان
  • Laravel Dusk، Laravel Mix، Blade Components and Slots، Markdown Emails، Automatic Facades، بهبود مسیریابی یا همان  routeنویسی.
  • قابلیت تایید ایمیل

لاراول 6 :

لاراول 6 در سوم سپتامبر 2019 ارائه گردید. این نسخه دارای امکانات زیادی است که در زیر به برخی از آنها اشاره می شود :

  • Job middleware : در لاراول 6 می توانیم برای job  هایی که داریم میدل ویر تعریف و متصل کنیم.
  • Lazy collection : لاراول 6 امکانی را فراهم ساخته است که می توانید به هنگام کار با داده های حجیم، استفاده از حافظه را کمتر کنید. مثلا درEloquent   می توانید به جای استفاده از متد all() که کل اطلاعات را به حافظه می دهد، از متد cursor() استفاده کنید و  عمل پردازش را یکی یکی روی داده ها انجام دهید.
  • بهینه کردن subQuery ها در الوکوئنت : در نسخه جدید، با اضافه شدن متد addSelect() استفاده از کوئری در داخل کوئری دیگر خیلی راحت تر شده است.
  • بهبود پاسخ های سفارشی هنگام کار با سیستم احراز هویت : با افزوده شدن متد Gate::inspect() سفارشی سازی پیغام های احراز هویت لاراول آسان تر گشته است.
  • مستقل شدن پکیج Laravel UI
  • سازگاری با Laravel Vapor برای deploy کردن اپلیکیشن هایتان
  • و امکاناتی که هر روز افزوده می شوند.

قابلیت های لاراول محبوب ترین فریم ورک php

در اینجا به قابلیت هایی اشاره می شود که Laravel را از بقیه فریم ورک ها جدا می سازد:

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

مدیریت وابستگی ها، یکی از بهترین امکانات لاراول است. لاراول این وظیفه را به وسیله Service Container  یا همان IoC  انجام می دهد. IoC خلاصه شده عبارت Inversion of Control  است. درک صحیح Service Container  ، هسته ای ترین بخش آموزش هر برنامه مدرنی است. سرویس کانتینر لاراول، یکی از قدرتمند ترین ابزارهای مدیریت وابستگی های کلاس هاست.

Authentication یا سیستم احراز هویت لاراول

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

Caching یا کش کردن

Caching یا کش، یک تکنولوژی مهم برای ذخیره موقت اطلاعات و فراخوانی سریع آن ها در موقع نیازست. اصولا کش کردن        برای بالا بردن کارایی برنامه به کار می رود. لاراول تقریبا تمام اطلاعات را از فایل های view  به route  ها کش می کند مه باعث کاهش زمان محاسبه و پردازش می شود که در نتیجه افزایش کارایی اپلیکیشن را به همراه خواهد داشت.

Routing یا آدرس دهی

آدرس دهی در لاراول یا routing در محبوب ترین فریم ورک php، بسیار آسان و قابل فهم است. Routing لاراول می تواند برای ساخت اپلیکیشن های سریع و آسان استفاده شود. شما میتوانید با استفاده از routing لاراول، route ها یا مسیر ها را اسم گذاری کنید، گروه بندی نمایید و یا حتی اطلاعات مدل ها را در آنها تزریق نموده و در جای دیگر استفاده نمایید که به این قابلیت Route Model Binding  نیز می گویند. می توانید Middleware ها را مستقیما در route ها اعمال نموده و محدودیت ایجاد نمایید. Route های لاراول URL  های شما را به URL هایی تبدیل می سازند که برای سئو SEO عالی بوده یا به اصطلاح SEO friendly هستند و این به معنی بهتر دیده شدن سایت شما در گوگل خواهد بود. برای آشنایی بیشتر به این مقاله مراجعه فرمایید.

Restful Controllers

ابتدا باید توضیحی درموردRESTful  عرض کنیم. RESTful یا REST مخفف ( Representational state transfer) یک سبک معماری است که پاسخ گوی درخواست هایی که از سمت سرور ارسال می شود است. rest را شاید در نام های مختلفی دیده باشید مثل RESTful APIs . REST  از سال ۲۰۰۵ در وب شناخته شد که در ظاهر کمی گیج‌کننده به نظر می رسد، اما با کمی توضیح، می‌توان این مفهوم در ظاهر پیچیده را رمزگشایی کرد!

RESTful   یک سبک معماری است که پاسخ گوی درخواست هایی که از سمت سرور ارسال می شود است این درخواست ها می توانند کارهای مختلفی بکنند مثل حذف داده، ثبت داده، دریافت داده و ارسال داده (DELETE , POST , PUT , GET ) .همچنین به معنای نمایش اطلاعات برای کاربران از راهی که خوانایی بالایی داشته باشد. یکی از مفاهیم اصلی که باید در ارتباط با REST بدانید این است که REST  یک پروتکل یا استاندارد نیست، این تنها یک راه‌حل و یا یک سبک معماری است.

Controller ها در لاراول، شما را قادر به تفکیک متد های GET    و POST و نحوه پاسخگویی به هرکدام خواهد کرد. حتی میتوانید resource controller  ایجاد کرده و تمامی امور را به راحتی انجام دهید. در resource controller  همه متدهای ذخیره، فراخوانی، حذف و … و حتی route های مربوطه شان از قبل نوشته شده و آماده اند. حتی می توانید resource controller  ها را به route  ها bind (متصل) کنید. برای آشنایی بیشتر به این مقاله مراجعه فرمایید.

تست کردن یا همان Debug

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

  1. از دیگر مزایای لاراول، Blade است. تمامی فایل های ویو view در این فریم ورک از نوع blade بوده و با پسوند .blade.php تمام می شوند. Blade  از چندین  helper  جهت استفاده از داده ها در داخل  فایل های view پشتیبانی میکند. شما می توانید helper یا template های خود را ساخته و استفاده نمایید.

 

Eloquent یا ORM راحتی استفاده از پایگاه داده

لاراول بر پایه Eloquent طراحی شده است که می تواند با تمامی موتورهای دیتابیس کار کند. ORM یا Eloquent جزو قدرتمندترین امکانات این فریم ورک است و همواره یکی از دلایل امنیت لاراول بوده و است. Eloquent به راحتی با MySQL و   SQLite ارتباط برقرار میکند. لاراول مستندات و بایگانی جامع و وسیعی برای همه متد های ORM در اختیار کاربر قرار داده است. برای آشنایی بیشتر به این مقاله مراجعه فرمایید.

روابط در لاراول

یکی دیگر از مزایای لاراول، آسانی و سهولت ارتباط جدول هاست. جدول ها بیشتر از طریق مدل های خود با هم در ارتباطی قوی هستند. می توانید انواع روابط یک به یک One To One ، یک به چند One To Many ، چند به چند Many To Many ، روابط با واسطه ، روابط پلی مورفیک Polymorphic را در بین جداول و مدل ها ایجاد کرده و از امکانات بی نظیر این فریم ورک نهاست لذت را ببرید. برای آشنایی کامل به این مقاله مراجعه فرمایید.

امنیت، امنیت و امنیت

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

Artisan

لاراول از خط فرمان یا command line ای به نام آرتیسان Artisan استفاده می کند که ده ها دستور از قبل ساخته شده برای برنامه نویسان دارد. شما می توانید با استفاده از artisan  از نوشتن دستورات اضافی خودداری و در وقت خویش صرفه جویی نمایید. کار کردن با artisan  آرتیسان بسیار راحت و به آسانی تایپ چند کلمه است.

Migration

لاراول برای ساخت جدول های دیتابیس از migration استفاده می کند. این امر کار با لاراول و تشکیل جداول دیتابیس را بسیار آسان تر نموده است. شما دیگر مجبور به تایپ و اجرای دستورات سخت و گمراه کننده SQL نیستید بلکه با دستورات بسیار ساده PHP قادر به نوشتن جدول ها و ویرایش آنها خواهید بود. برای اضافه کردن یک ستون به جدول، لازم نیست جدول را از نو بسازید بلکه کافی است یک مایگریشن جدید ایجاد کنید. هر مایگریشن یک فایل php است.

بومی سازی یا Localization

لاراول شما را قادر به ساخت اپلیکیشن های چند زبانه می کند. درست هنگامی که یک سایت با لاراول می سازید می توانید همان سایت را به چند زبان مجهز سازید. برای این کار تنها لازم است از helper ای به نام transe()  استفاده کنید.

  1. استفاده از خصوصیت auto-loading:

خصوصیت auto-loading در لاراول امکان load اتوماتیک کلاس‌ها و کامپوننت‌ها را در صورت نیاز به‌ آن‌ها فراهم کرده است.

 

ایجاد پکیج‌ها

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

نصب و بروز رسانی آسان

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

بروز رسانی لاراول از نصب آن نیز راحت تر است. کافی است نسخه مورد نظر را در فایل composer.json تغییر داده و سپس دستور زیر را در ترمینال خود لاراول اجرا کرد :

composer update

سرعت

در لاراول هم سرعت ساخت یک برنامه و هم سرعت اجرای برنامه به طرز قابل توجهی بالاست.

 

امکان ساخت component

با استفاده از قابلیت component میتوانید برنامه های کوچک را  نوشته و در سایر پروژه های خود استفاه کنید تا نیاز به دوباره نویسی نباشید.

 

 

 

 

منابع

https://www.larashout.com/what-is-laravel-and-why-you-should-learn-it

https://laravel.com/docs/4.2/introduction

https://en.wikipedia.org/wiki/Laravel

مطالب زیر را حتما بخوانید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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