لاراول (Laravel)

فریم ورک طراحی وب سایت PHP

فریم‌ورک لاراول (Laravel)

این مقاله شرح مختصری‌ست درباره لاراول، چارچوب نرم‌افزاری زبان برنامه‌نویسی PHP. لطفا جهت بررسی خدمات لاراول ارائه شده توسط ‌‌htmlpack بخش توسعه لاراول را مطالعه نمائید.

لاراول (Laravel) یک فرم‌ورک متن‌باز (Open Source) است که توسط زبان برنامه‌نویسی PHP ایجاد شده و تحت لیسانس ام آی تی (MIT) منتشر می‌گردد. این فریم‌ورک مناسب برای طراحی وب سایت و برنامه‌ها‌یی است که در ساخت آن‌ها از الگوی معماری برنامه مدل-نما-کنترلگر (MVC) استفاده می‌گردد. علاوه براین لاراول برای ایجاد وب سرویس‌ها از جمله وب سرویس‌های تحت وب منطبق با الگوی معماری انتقال وضعیت بازنما (REST) و فروشگاه های اینترنتی پیشرفته نیز قابل استفاده می‌باشد.

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

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

نسخه‌ی اول فریم‌ورک لاراول در ژوئن سال ۲۰۱۱ توسط تیلور آتوِل منتشر گردید و از آن زمان به دلیل محبوبیت در میان برنامه‌نویسان پی‌ایچ‌پی همواره تحت توسعه و پشتیبانی فعال بوده است.

لاراول را می‌توان نسخه‌ی پیشرفته‌تر فریم‌ورک کد-ایگنایتر (CodeIgniter) دانست که برخی از کاستی‌های موجود در آن مانند عدم وجود سیستم کنترل کاربران و سیستم مهاجرت پایگاه داده را برطرف می‌نماید.علاوه بر این لاراول دارای ساختاری ماژولار محور می‌باشد و مجهز به یک سیستم کنترل وابستگی‌های نرم‌افزاری برنامه است که به برنامه‌نویس قابلیت گسترش ویژگی‌های آن را نیز می‌دهد. این مزیت باعث گردیده علاوه بر وجود ویژگی‌های فراوان در لاراول، پکیج‌های کدنویسی بسیاری توسط برنامه‌نویسان برای آن ایجاد گردد که قابلیت‌‌های آن را به طرز چشمگیری گسترش داده‌اند.

ویژگی‌ها و قابلیت‌های لاراول:

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

  • سیستم اصالت سنجی و کنترل مجوز

    یک سیستم اصالت سنجی (Authentication) و کنترل مجوز (Authorization) جهت کنترل ثبت نام و عبور و خروج کاربران وب سایت. لاراول ۵ امکان مدیریت کاربران توسط اکانت‌‌های برون-سروری از جمله اکانت‌های شبکه های اجتماعی را نیز فراهم می‌‌‌آورد. برخی از وب سرویس‌های تحت پشتیبانی شامل گوگل، لینکد‌ین، فیس‌بوک و گیت‌هاب می‌باشد.

  • نگاشت شی‌گرای ارتباطی

    بهره‌مندی از یک نگاشت شی‌گرای ارتباطی (ORM) پیشرفته. این نگاشت یک پیاده سازی از مدل ثبت کنشور (Active Record) در زبان پی‌ایچ‌پی است و از جندین پایگاه داده از جمله MySQL، SqLite و Postgre پشتیبانی می‌نماید. علاوه بر این لاراول دارای یک پکیج مدلینگ شی‌ءگرای پیشرفته نیز می‌باشد که قابلیت ایجاد مدل‌های ارتباطی به صورت یک-به-یک (One-To-One) ، یک-به-بسیار (One-To-Many) و بسیار-به-بسیار (Many-To-Many) و همچنین مدل‌های پلی‌مرفیک (Polymorphic) را نیز فراهم می‌آورد.

  • سیستم مهاجرت پایگاه داده (Migration)

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

  • برنامه خط فرمان

    یک برنامه خط فرمان (Command-line Interface) با نام آرتیزان (Artisan) با قابلیت بسط‌پذیری توسط یک واسط برنامه‌نویسی مرتبط برای اجرای انواع فرامین از طریق ترمینال و واسط برنامه‌نویسی. این برنامه در سیستم عامل‌های لینوکس، مکینتاش و ویندوز قابل اجرا شدن است.

  • مدیریت مسیر

    سیستم مدیریت مسیر (Routing) قوی با قابلیت پیاده‌سازی الگوی انتقال وضعیت بازنما (REST) و بکارگیری کنترلگرهای ‌ (Controller)) شیءگرا

  • نما و قالب‌بندی

    یک سیستم نما (View) و قالب‌بندی (Templating) پیشرفته و بهینه‌سازی شده با قابلیت گسترش یافتن. این سیستم که بِلِید (Blade) نام دارد، دارای مجموعه ای از ساختارهای کنترل جریان برنامه نیز می‌باشد که قابلیت افزودن منطق به نماها را فراهم می‌‌آورد. با این وجود، لاراول، به دلیل بهره‌مندی از ساختاری ماژولار محور، به برنامه‌نویس امکان استفاده از سایر سیستم‌های قالب‌بندی مانند Twig و Jade را نیز می‌دهد.

  • اتوماسیون

    سیستم اتوماسیون جهت ساخت فایل‌های سمت مشتری (Client-side) و کنترل خروجی برنامه. این سیستم حهت عملکرد از قابلیت‌های پلتفرم نود.جی‌اس (Node.js) و زبان برنامه نویسی جاوا اسکریپت استفاده می‌نماید.

  • تست

    امکان تست اجزاء (Unit Test) و گسترش تست‌های از پیش ایجاد شده برنامه. با توجه به این‌که کد منبع لاراول به‌طور گسترده‌ای تست می‌گردد تمامی تست‌ها و امکان اجرای آن‌ها به‌طور پیش‌فرض در برنامه گنجانده شده است.علاوه بر این سیستم خط فرمان برنامه نیز دارای جندین فرمان جهت ایجاد و اجرای تست‌ها می‌باشد. لاراول برای اجرای تست‌ها از پکیج PHPUnit استفاده می‌نماید.

لومن

لومن (Lumen) یک میکروفریم‌ورک PHP است که توسط توسعه‌دهندگان چارچوب نرم‌افزاری لاراول توسعه و نگهداری می‌گردد. این فریم‌ورک نسخه کم‌حجم‌تر فریم‌ورک لاراول محسوب می‌گردد و جهت عملکرد از برخی از ماژول‌های لاراول استفاده می‌نماید.

هدف از ایجاد Lumen که نحوه عملکرد آن مشابه به فریم‌ورک های اسلیم (Slim) – چارچوب نرم افزاری پی ایچ پی – و اکسپرس (Express.js) – چارچوب نرم افزاری جاوا اسکریپت – می‌باشد، ساخت فریم‌ورکی سریع‌تر از لاراول بوده‌است. این امر توسط حذف برخی از ماژول‌ها و قابلیت‌ها از فریم‌ورک لاراول صورت گرفته است. به عبارتی دیگر لومن را می‌توان نسخه‌‌ای کوچکتر از لاراول محسوب نمود که در مقایسه با لاراول از سرعت و عملکردی سریع‌تر و بهینه‌تری برخوردار است. این ویژگی لومن را به گزینه‌ای مناسب برای ساخت وب سرویس های سریع و مناسب برای مدیریت وب سایت تک صفحه‌ای تبدیل نموده است.


در همین زمینه