10 مهر 1402
تهران، خیابان آزادی، تقاطع قریب
برنامه نویسی وب

Laravel چیست؟ | PHP Framework برای ساخت وب اپلیکیشن

Laravel چیست؟ | PHP Framework برای ساخت آسان وب اپلیکیشن

توسعه وب اپلیکیشن و وب سایت در سال‌های اخیر بسیار ساده شده است. امروزه حتی افراد غیرمتخصص در تکنولوژی نیز در کار با محصولاتی مانند وردپرس و Wix ماهر شده‌اند. برای توسعه‌دهندگان پیشرفته‌تر، ابزارهای زیادی برای کمک به ساده‌سازی فرآیند توسعه وجود دارد. یکی از مفیدترین این ابزارها Laravel است. این مقاله به این سوال پاسخ می‌دهد که Laravel PHP Framework یا به طور اختصاری Laravel چیست؟ و آن را به یک نمای کلی از اصول اولیه framework های PHP که در توسعه وب استفاده می‌شود، تقسیم می‌کند. ما این سؤال را با مرور بر ویژگی‌های Laravel، فهرستی از ساختارها و اجزای مهم Laravel و توضیح برخی از پکیج‌های مفید Laravel پاسخ داده‌ایم.

Laravel چیست؟

پاسخ ساده به این سوال، یعنی “Laravel چیست؟” ساده است: Laravel یک Framework PHP  چند پلتفرمه برای ساخت وب اپلیکیشن‌ها است.

اما درک واقعی مزایای Laravel و کاربردهای آن، مستلزم دانش بیشتری نسبت به آن است. Laravel به توسعه‌دهنده اجازه می‌دهد تا از کتابخانه بزرگی از قابلیت‌های از پیش برنامه‌ریزی شده (مانند authentication، routing و HTML templating) استفاده کند. دسترسی به این کتابخانه ساخت سریع وب اپلیکیشن‌های قوی را آسان‌تر می‌کند و در عین حال، میزان کدگذاری لازم را به حداقل می رساند.

Laravel یک محیط توسعه بسیار کاربردی با رابط‌های ارائه می‌دهد. علاوه بر این، Laravel ) برای دسترسی ساده‌تر به داده‌ها و دستکاری آن‌ها، از object-relational mapping (ORM استفاده می‌کند.

اپلیکیشن‌های Laravel بسیار مقیاس‌پذیر و دارای پایگاه کدهایی با قابلیت نگهداری آسان هستند. به لطف سیستم بسته بندی ماژولار Laravel و robust dependency قوی، توسعه دهندگان می‌توانند به طور یکپارچه، قابلیت functionality را به برنامه‌های خود اضافه کنند.

Laravel یک framework توسعه  frontend است یا backend؟

Laravel در درجه اول یک framework توسعه backend است، اگرچه برخی از عملکردهای frontend را هم ارائه می‌دهد. با این حال، بسیاری از ویژگی‌های Laravel، agnostic هستند.

آیا Laravel یک زبان برنامه نویسی است؟

Laravel یک framework PHP است و به جای این‌که یک زبان برنامه نویسی سختگیرانه PHP باشد، از یک زبان اسکریپت‌نویسی استفاده می‌کند. در حالی که زبان‌های اسکریپت‌نویسی و زبان های برنامه نویسی به هم مرتبط هستند، اما تفاوت‌های قابل توجهی با یکدیگر دارند. این تفاوت در درجه اول به سهولت استفاده و سرعت اجرا مرتبط می‌شود.

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

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

PHP Framework چیست؟

PHP (مخفف بازگشتی برای PHP Hypertext Preprocessor) یک زبان برنامه نویسی اپن سورس و server-side است که به طور گسترده برای توسعه وب استفاده می‌شود. از اوایل سال 2021، تقریبا 80٪ از تمام وب سایت‌ها از PHP استفاده می‌کنند. در حالی که ممکن است بسیاری با PHP آشنا نباشند، همه با یکی از شناخته شده ترین اپلیکیشن‌های PHP، یعنی وردپرس آشنا هستند.

یک PHP framework مجموعه‌ای از کتابخانه‌های کد حاوی ماژول‌های از پیش برنامه‌ریزی شده را فراهم می‌کند که به کاربر امکان این را می‌دهد که برنامه‌ها را سریع‌تر بسازد. آنها به توسعه دهندگان وب مزیت‌هایی از جمله توسعه سریع‌تر، کاهش نیاز به نوشتن کد و افزایش امنیت را ارائه می‌دهند. آن‌ها همچنین به توسعه دهندگان تازه کار کمک می‌کنند تا Coding practice های خوبی ایجاد کنند، زیرا آن‌ها به سازماندهی خاصی از کد نیاز دارند. علاوه بر این، فریم‌ورک‌های PHP معمولاً نسبت به برنامه‌هایی که از پایه ساخته شده‌اند، به تعمیر و نگهداری کمتری نیاز دارند.

بسیاری از framework های مدرن PHP شی گرا هستند. به همین دلیل، داشتن درک اولیه از مفاهیمی مانند کلاس‌ها، آبجکت‌ها و Inheritance قبل از غرق‌شدن در یک framework مفید است.

PHP Framework چیست؟

framework های PHP از معماری Model-View-Controller (MVC) استفاده می‌کنند. برای کسانی که با معماری MVC آشنا نیستند، این Model به مثابه داده‌های برنامه است، همراه با تمام منطق‌های مرتبط. برای مثال جدولی از سابسکرایبرها، می‌تواند یک Model باشد. View نقطه‌ای از تعامل با کاربر را فراهم می‌کند، جایی که می‌توان داده‌های Model را مشاهده و اصلاح کرد. Controller مجرایی بین View و Model است. به عبارت دیگر، Controller درخواست‌های کاربر را می‌گیرد، اطلاعات مورد نیاز را از Model بازیابی می‌کند، آن را پردازش می‌کند و به View برمی‌گرداند.

امنیت اپلیکیشن‌های PHP

اپلیکیشن‌های PHP، مانند وردپرس، دارای آسیب پذیری‌های شناخته شده‌ای هستند. قابل توجه‌ترین نمونه‌های این آسیب‌پذیری‌ها، تزریق کد و تزریق SQL هستند. Laravel دارای ویژگی‌هایی است که به جلوگیری از تزریق SQL و سایر حملات کمک می‌کند.

با این حال، توسعه دهندگان باید تلاش‌های بیشتری برای اطمینان از امنیت اپلیکیشن‌‌های خود انجام دهند. تلاش‌هایی مانند اجرای تست نفوذ. به گفته باربارا اریکسون متخصص IT در Cloud Defense، اقدامات لازم برای تأمین امنیت وب اپلیکیشن‌ها، شامل تست نفوذ و فایروال‌های وب اپلیکیشن‌ها‌ است که مکمل یکدیگر هستند.

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

چرا باید از Laravel استفاده کرد؟

پس از پاسخ به “Laravel چیست؟”، سوال بعدی این است: “چرا Laravel؟” Laravel مجموعه بزرگی از ابزارهای قوی را ارائه می‌دهد که به آسان‌تر و سریع‌تر شدن فرآیند توسعه وب اپلیکیشن‌ها کمک می‌کند، و از این طریق، پایگاه‌های کد برنامه نهایی به خوبی ساختار می‌یابند و به راحتی نگهداری می‌شوند.

برخی از مزایای خاص Laravel عبارتند از:

یادگیری Laravel آسان است

یادگیری Laravel با مقداری تجربه و سابقه در کار توسعه وب، نسبتاً آسان است. Laravel برای استفاده موثر نیاز به درک کلی از PHP و مفاهیم برنامه نویسی شی گرا (OOP) دارد. دانستن حداقل مقداری از HTML نیز مفید است. و برای هر معماری MVC، درک سیستم‌های مدیریت دیتابیس relational، مانند MySQL یا PostgreSQL نیز مفید است.

Laravel فرآیند توسعه را ساده می‌کند

Laravel در ابتدا برای ساده سازی وظایفی که در انواع پروژه‌های توسعه وب رایج هستند، مانند routing، authentication، migration، caching و غیره طراحی شده بود. این Framework ادغام ماژول‌های از پیش ساخته شده در یک برنامه را با استفاده از رابط‌های command line های intuitive و expressive و Composer ساده می‌کند.

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

Laravel ابزارهایی برای توسعه دهندگان در همه سطوح دارد

Laravel خود را به عنوان یک framework پیشرو معرفی می‌کند. به این معنی که شامل عملکردهای مختلفی است که برای کاربران همه سطوح مفید خواهد بود. به عنوان مثال، مبتدیان به کیت‌های starter برای ماژول‌ها مانند ویژگی‌های اولیه authentication دسترسی دارند. بسیاری از این ابزارها در این مقاله با جزئیات بیشتری توضیح داده شده‌اند.

کاربران با تجربه‌تر می‌توانند از موتورهای زیربنایی کیت‌های starter برای ساختن فرآیندهای authentication خود و ادغام آن‌ها با frontend های دلخواهشان استفاده کنند.

Laravel بسیار مقیاس پذیر است

Laravel بسیار مقیاس پذیر است. اپلیکیشن‌های Laravel با پشتیبانی یکپارچه از سیستم‌‌های cache سریع و توزیع شده قادر به رسیدگی به میلیون‌ها درخواست در ماه هستند. و Laravel همچنین یک پلتفرم استقرار بدون سرور به نام Vapor را ارائه می‌دهد که مبتنی بر AWS است و مقیاس‌پذیری بالایی را ارائه می‌دهد.

Laravel دارای یک اکوسیستم و جامعه بزرگ است

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

پکیج‌های رسمی Laravel (که بسیاری از آن‌ها در بخش‌های بعدی این مقاله مورد بحث قرار می‌گیرند) شامل authentication، مدیریت سرور، subscription billing، تست مرورگر، automation و غیره است. پکیج‌های شخص ثالث در سایت‌هایی چون Packalyst و Laravel News در دسترس هستند.

همچنین حجم عظیمی از اطلاعات از جامعه توسعه دهندگان Laravel در دسترس است. برنامه‌نویسانی که سؤالی در این زمینه دارند، مطمئناً با مراجعه به یکی از فروم‌های Laravel، مانند Laravel.io، The Laravel subreddit و Laracasts، پاسخ خود را خواهند یافت.

Laravel به طور گسترده‌ای استفاده می‌شود

بسیاری از شرکت‌ها از Laravel برای کمک به ساخت وب سایت‌های کاربردی استفاده می‌کنند:

Vacations by Rail یک سایت برنامه ریزی سفر با قطار است که با استفاده از framework Laravel PHP ساخته شده است. همچنین با موتور رزرو Softrip یکپارچه شده است.

Vacations by Rail

وب‌سایت Setapp که در زمینه اپلیکیشن‌های کیوریت‌شده برای مک و iOS فعالیت می‌کند، با استفاده از framework Laravel PHP ساخته شده است.

وب‌سایت Setapp

اپلیکیشن جستجوی رستوران Restaurants.com به لطف این واقعیت که با استفاده از الگوهای برنامه تلفن همراه Laravel ساخته شده است، از ویژگی‌های بصری خوبی برخوردار است.

اپلیکیشن جستجوی رستوران Restaurants.com

Laravel چه کاری انجام می‌دهد؟

مجموعه ویژگی‌های Laravel بسیار گسترده تر از آنی هستند که در این مرور کوتاه به طور کامل پوشش داده شوند. چند ویژگی مهم‌تر آن‌ها عبارتند از:

Route Handling

Laravel با استفاده از نام های ساده برای شناسایی Route ها به جای path name های طولانی، یک مدیریت مستقیم و شهودی برایRoute  ارائه می‌دهد. استفاده از شناسه‌های مسیر نیز نگهداری برنامه‌ها را آسان‌تر می‌کند، زیرا path name را می‌توان فقط در یک مکان تغییر داد، نه اینکه مجبور به تغییر آن در سرتاسر آن باشید. تمام Route  های رابط وب در یک برنامه Laravel در فایل routes/web.php ثبت شده است.

امنیت

Laravel شامل تعدادی از ویژگی‌های امنیتی از جمله احراز هویت کاربر ، مجوزهای نقش کاربر ، تأیید ایمیل ، خدمات encryption، Password hashing و ویژگی‌های تنظیم مجدد Password  است.

Migration

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

Templating

Blade موتور الگوی PHP Laravel است. موتورهای Templating  PHP به تقسیم منطق کسب و کار از طریق الگوهای HTML کمک می‌کنند، و در نتیجه یک پایگاه کد ایجاد می‌شود که به راحتی حفظ می‌شود. بسیاری از ویژگی‌های Laravel به الگوهای Blade متکی هستند. Blade عملکردپذیری بیشتری نسبت به سایر موتورهای Templating  ارائه می‌دهد زیرا Blade امکان استفاده از کد PHP ساده را فراهم می‌کند ، که دیگر موتورها این کار را نمی‌کنند.

Sessions

Laravel طی چندین درخواست از Session ها برای ذخیره اطلاعات در مورد کاربر استفاده می‌کند. Cookie ها نمونه‌ای از درایور Session در Laravel است.

اعتبار سنجی داده‌ها

Laravel اعتبارسنجی داده‌های کاربر ورودی را ساده می‌کند. Laravel شامل تعدادی از قوانین اعتبار سنجی داده‌ها ، با پیام های error قابل تنظیم است.

Cache Handling

Laravel برای به حداقل رساندن زمان پردازش کار برنامه، از حافظه پنهان یا Cache داده پشتیبانی می‌کند. API حافظه پنهان Laravel از انواع backend های حافظه پنهان شخص ثالث مانند memcached و redis پشتیبانی می‌کند.

Error Handling

Error Handling به طور خودکار با شروع یک پروژه جدید Laravel تنظیم می‌شود. اپلیکیشن‌های Laravel را می‌توان در حالت debug اجرا کرد. در این حالت پیام‌های error با جزئیات کاملی را برای همه error هایی که رخ می‌دهد، ایجاد می‌کند.

Testing

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

مدیریت Storage و File

Laravel از Flysystem PHP package برای تهیه درایورها برای همکاری با انواع سیستم‌های فایل، از سیستم‌های فایل محلی گرفته تا ذخیره سازی مبتنی بر Cloud مانند Amazon S3 استفاده می‌کند. Laravel همچنین انتقال فایل را با پروتکل انتقال فایل SSH (SFTP) فراهم می‌کند.

Email

Laravel شامل یک API ایمیل بر اساس کتابخانه SwiftMailer است که امکان ارسال ایمیل از طریق سرویس انتخابی را فراهم می‌کند. Laravel از پیوست‌های ایمیل و صف ایمیل پشتیبانی می‌کند.

Notifications

Laravel از طریق تعدادی از کانال‌ها ، اعم از کانال‌های شناخته شده مانند SMS یا Slack، یا استفاده از کانال‌هایی که توسط جامعه Laravel ساخته شده است، از ارسال Notification پشتیبانی می‌کند.

Laravel چگونه کار می‌کند؟

برای اینکه به بهترین وجه بفهمیم Laravel چه کاری می‌تواند انجام دهد ، مهم است که درک کنیم چگونه Laravel با درخواست‌ها ، یعنی چرخه عمر درخواست، معامله می‌کند. همانطور که در بالا گفته شد، Laravel مبتنی بر معماری MVC است و به درخواست‌های کاربران پاسخ می‌دهد، که کنترل کننده برای بازیابی و پردازش داده‌ها از مدل و ارائه اطلاعات به کاربر در یک View استفاده می‌کند.

یک درخواست از طریق پرونده public/index.php وارد یک برنامه Laravel می‌شود ، که بقیه framework را بارگیری می‌کند و نمونه ای از برنامه Laravel را بازیابی می‌کند. پس از بازیابی نمونه درخواست ، درخواست به kernel کنسول یا kernel HTTP هدایت می‌شود.

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

پس از اتمام bootstrapping و ثبت provider های خدمات ، درخواست به router منتقل می‌شود و سپس router درخواست را به یک مسیر یا یک کنترل‌کننده هدایت می‌کند. علاوه بر این، روتر هر نوع واسطه خاص برای مسیر را اجرا می‌کند. پس از عبور درخواست از تمام واسطه‌های مورد نیاز، اجرای یک route یا متد کنترلر پاسخی را باز می گرداند که از طریق زنجیره به View منتقل می‌شود.

چگونه با Laravel شروع به کار کنیم؟

برای شروع با Laravel ، لازم است برخی از مهمترین ساختارها و عملکردهای Laravel را درک کنید.

Service Containers

Service Containers یکی از اجزای اصلی Laravel است. این Service Containers وابستگی class و dependency injection را مدیریت می‌کنند.

چگونه با Laravel PHP Framework شروع به کار کنیم؟

Service Containers در جایی هستند که یک توسعه دهنده تمام موارد لازم برای اجرای یک اپلیکیشن Laravel را متصل می‌کند.

Service Providers (ارائه‌دهندگان سرویس‌ها)

ارائه دهندگان خدمات Laravel ، که در آن کلاس‌ها و وابستگی‌ها بهservice containers تزریق می‌شوند ، به همان اندازه مهم هستند.

Facades

Facade یک رابط static برای کلاس‌های محدود در service container است. Facades  با ارائه syntaxی که به سادگی در یاد بماند، به عنوان یک پروکسی برای یک نام long class، امکان استفاده آسان را فراهم می‌کند.

Packages

پکیج‌ها برای اضافه شدن عملکرد به Laravel کار می‌کنند. انواع پکیج، شامل پکیج‌های مستقل و پکیج‌های خاص برنامه هستند. Service providers به Laravel می‌گویند که منابع پکیج را بارگیری کنید.

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

رابط های Command-Line

Laravel شامل مجموعه‌ای از رابط‌های Command-Line (CLI) است. کنسول Artisan شامل دستوراتی است که به توسعه دهندگان کمک می‌کند تا به سرعت کدهای اسکلت بسازند، کارهای تکراری را ساده و خودکار کنند، و اپلیکیشن‌هایشان را آسان‌تر از قبل تکمیل کنند. Sail یک رابط Command-Line با وزن سبک‌تر است که در Laravel 8 معرفی شده است. Sail به توسعه‌دهنده اجازه می‌دهد تا با Docker، محیط توسعه پیش‌فرض Laravel، تعامل داشته باشد.

رابط های Command-Line در PHP LAravel

Eloquent

Eloquent یک object-relational mapper (ORM) است که امکان تعامل آسان با دیتابیس‌ها را فراهم می‌کند. با استفاده از معماری MVC، مدل‌ها با جداول جداگانه در یک دیتابیس مطابقت دارند. با Eloquent، توسعه‌دهندگان می‌توانند از بازیابی سریع، درج‌ها و به‌روزرسانی‌های ساده و تعریف بصری روابط اطمینان داشته باشند.

Composer

Composer یک ابزار مدیریت وابستگی PHP در سطح برنامه شخص ثالث است. این ابزار کتابخانه‌ها، ماژول‌ها و پلاگین‌های مورد نیاز برنامه Laravel را مدیریت می‌کند.

Homestead

Laravel Homestead یک محیط توسعه است که با ارائه Vagrant box از پیش پکیج‌شده، امکان توسعه را بر روی یک ماشین مجازی فراهم می‌کند. Homestead شامل همه چیزهایی است که برای توسعه برنامه Laravel لازم است، از جمله PHP، MySQL، Nginx، Composer، Redis و غیره. بنابراین توسعه‌دهنده نیازی به نصب این پکیج‌ها بر روی دستگاه محلی خود ندارد. Homestead به نصب Vagrant و VirtualBox یا Parallels نیاز دارد.

Authentication Starter Kits

Laravel شامل تعدادی بسته است که به توسعه‌دهندگان کمک می‌کند تا به سرعت کار کنند. قبل از ورود به عمق، ممکن است بخواهید برخی از منابع موجود برای یادگیری Laravel را مرور کنید. Laravel شامل چند کیت starter است تا به توسعه‌دهنده کمک کند عملکردهای رایج را به سرعت اجرا کند.

Laravel Breeze یک کیت starter برای Authentication  است. این شامل احراز هویت رایج و ویژگی‌های حساب کاربری مانند ثبت نام کاربر، ورود به سیستم، تأیید ایمیل و تأیید و بازنشانی رمز عبور است. Breeze همچنین شامل یک frontend جاوا اسکریپت از طریق Vue است. Breeze یک لایه View پیش فرض دارد که از قالب های Blade و Tailwind CSS استفاده می‌کند.

برای ویژگی‌های پیشرفته‌تر Authentication ، Laravel اکنون Jetstream را ارائه می‌دهد که اولین بار در نسخه 8 معرفی شد. علاوه بر ویژگی‌های موجود در Breeze، Jetstream ویژگی‌های پیشرفته دیگری مانند احراز هویت دو مرحله‌ای، مدیریت جلسه، پشتیبانی API از طریق Laravel Sanctum و مدیریت تیم اختیاری را نیز ارائه می‌کند.

برای توسعه‌دهندگانی که ترجیح می‌دهند از frontend احراز هویت خود استفاده کنند، Laravel ابزار Fortify را ارائه می‌کند. این یک پشتیبان Authentication  از نوع agnostic است. Fortify موتور کیت استارت احراز هویت Jetstream است و شامل تمام ویژگی‌های احراز هویت Laravel (مانند ثبت نام کاربر، ورود به سیستم، تأیید ایمیل، احراز هویت دو مرحله‌ای و غیره) است. Fortify موتور اصلی Laravel Breeze نیست.

Laravel همچنین احراز هویت مبتنی بر شبکه‌های اجتماعی (OAuth) را از طریق Laravel Socialite ارائه می‌دهد.

دیگر ابزارهای Laravel

Laravel ابزارهای Forge و Vapor را برای توسعه‌دهندگانی که می‌خواهند اپلیکیشن‌های خود را با حداقل پیکربندی سرور مستقر کنند، یا در واقع می خواهند استقرار بدون سرور داشته باشند، پیشنهاد می‌دهد. Forge امکان استقرار از طریق ارائه دهندگان زیرساخت‌های مختلف با حداقل تلاش‌های پیکربندی را فراهم می‌کند. Vapor یک پلتفرم استقرار بدون سرور مبتنی بر AWS است.

برای کسانی که به دنبال برداشتن گام بعدی هستند، توسعه دهندگان می توانند اپلیکیشن‌های Laravel خود را از طریق وب سایت خود میزبانشان مستقر کنند. این به این دلیل است که میزبانی وب سایت شما مستلزم راه اندازی چندین دیتابیس تعریف شده با یک دستور PHP (با استفاده از آخرین نسخه) و دسترسی SSH به سرور است. Laravel هر دو را در یک framework PHP منبع باز ارائه می‌دهد، و به عنوان یک امتیاز اضافی، نصب آن نیز بسیار آسان است.

Laravel چه کارهای دیگری می‌تواند انجام دهد؟

سوال بهتر این است که “Laravel چه کاری را نمی‌تواند انجام دهد؟” هزاران پکیج وجود دارد که هر تعدادی کار انجام می‌دهند. برخی از جالب‌ترین پکیج‌های رسمی Laravel عبارتند از:

Cashier and Spark

Laravel Cashier یک رابط برای خدمات subscription billing از Stripe و Paddle ارائه می‌دهد. Cashier  همچنین قابلیت‌های پیشرفته subscription مانند کوپن‌ها و دوره‌های مهلت‌دار cancellation را ارائه می‌دهد.

Cashier موتور Laravel Spark و یک پنل مدیریت صورتحساب است که به کاربران اجازه می‌دهد subscription های خود را ایجاد و مدیریت کنند. Spark همچنین به Stripe و Paddle به عنوان provider های پرداخت محدود می‌شود. provider های سفارشی هنوز با Spark سازگار نیستند. با این حال، Spark به توسعه‌دهنده اجازه می‌دهد تا frontend خود را انتخاب کند.

Valet

Laravel Valet یک محیط توسعه macOS است که بر سرعت و حداقل استفاده از منابع (حدود 7 مگابایت رم) متمرکز شده است. Valet قرار نیست جایگزین کاملی برای Sail یا Homestead باشد. در عوض، برای کاربرانی با نیازهای خاص و محدودیت های منابع در نظر گرفته شده است.

Laravel در سال 2022

نسخه فعلی Laravel نسخه 9 است که در ابتدا در فوریه 2022 منتشر شد. این نسخه شامل ویژگی‌ها و بهبودهای جدید است. برخی از ویژگی‌های جدید در نسخه 8 عبارتند از Laravel Jetstream، Job Batching (اجازه به اجرای دسته‌ای از کارها و به دنبال آن انجام اقدامات تعریف شده)، اجزای Dynamic Blade (اجازه می‌دهد تا مولفه های زمان اجرا بر اساس مقدار زمان اجرا ارائه شوند)، استفاده از Tailwind. CSS به‌طور پیش‌فرض در صفحه‌نمای Laravel، و غیره. همچنین بهبودهایی در حالت rate limiting و نگهداری انجام شد.

در گذشته، نسخه‌های جدید Laravel هر شش ماه یکبار منتشر می‌شدند. با این وجود، این منجر به سوالات، نظرات و سردرگمی های زیادی در مورد روند انتشار نسخه‌های جدید Laravel شد. با انتشار Laravel 9 در فوریه 2022، این framework اکنون به چرخه انتشار اصلی 12 ماهه منتقل شده است.

خلاصه

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

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

منبع ترجمه: kinsta

Leave feedback about this

  • کیفیت
  • قیمت
  • خدمات

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video