لومن بعنوان یک پروژه ی جدید توسط سازنده ی اصلی لاراول یعنی Taylor Otwell ساخته شده است . Taylor Otwell گفته که این فریمورک یک میکرو-فریمورک است یعنی سایزش کوچکتر است ، سرعتش بیشتر است و یک نسخه ی ظریف از فریمورک کامل laravel است .
البته برای زبان برنامه نویسی php دو میکروفریمورک دیگر هم وجود دارد که نام آنها Slim و Silex است .
لومن بر پایه ی فریمورک قدرتمند و محبوب لاراول است و بسیاری از اجزای لاراول را استفاده میکند .
lumen در سال ۲۰۱۵ بعنوان یک فریمورک اوپن سورس زبان php معرفی شد و هدف اصلی این فریمورک ساخت میکروسرویس ها و API های خیلی سریع است .
lumen در اصل یک میکروفریمورک یا micro-framework است و اساسا برای سرعت بخشی به پروژه ها ساخته شده است .
lumen سریعتر از دو فریمورک میکرو-سرویس زبان php به نام های Slim و Silex است .
براساس آزمایشی که خود Taylor Otwell انجام داده است ، میکروفریمورک های php از نظر سرعت به ترتیب زیر هستند :
- Lumen — 1,700 requests per second
- Slim — 1,250 requests per second
- Silex — 950 requests per second
و همانطور که میبینید Lumen سریعتر از Slim و آن هم سریعتر از Silex است .
- برخی از ویژگی های مهم میکرو-فریمورک Lumen :
- Lumen سرعت بسیار بالایی داره
- Lumen کدنویسی بسیار راحت یا بهتره بگیم Syntax ساده ای داره
- Lumen را هر زمانی بخواهید میتونید به لاراول کامل ارتقا بدید
- Lumen میتونه درخواست های بیشتری را در هر ثانیه نسبت به دیگر فریمورک های php انجام بده
- سیستم Routing : لومن از سیستم Fast Route استفاده میکنه که یه کتابخانه است که میتونه route های براساس Regex را سریعا پیاده سازی بکنه
- سیستم Lumen event کمک میکنه تا به رویدادهای اپلیکیشن خود بپردازید و آنها را مدیریت کنید
- سیستم Authentication : در لومن از سشن های عادی برای احراز هویت استفاده نمیشه یک مکانیسم ویژه مثل استفاده از توکن ها برای احراز هویت در لومن استفاده میشه
- سیستم Caching : همانند laravel ، لومن هم سیستم کشینگ داره ، بین سیستم کش لاراول و لومن تفاوتی خاصی وجود ندارد . در lumen درایور های کش مانند Database, Memcached و Redis پشتیبانی میشود .
- سیستم خطاها و لاگ : در lumen از کتابخانه ی Monolog برای کنترل کردن خطاها و لاگ ها استفاده میشود .
- سیستم queuing : که همانند سیستم queuing خود لاراول است .
- تفاوت بین Laravel و Lumen :
- laravel یک فریمورک کامل برای توسعه ی وب است ولی lumen یک میکرو-فریمورک سریع برای ساخت micro-service است که بر پایه ی زبان PHP و برای ساخت اپلیکیشن های تحت وب است .
- lumen تخصصی تر است که برای توسعه ی Micro-services و API ها کاربرد دارد پس بسیاری از چیزهای Laravel مثل سشن ها ، کوکی ها و تمپلیت ها در آن وجود ندارد lumen سعی کرده است چیزهای ضروری را نگهداری کند مثل routing, logging, caching, queues, validation, error handling و خیلی چیزای مشابه دیگر
- نیازمندی های کلیدی Lumen :
برای Lumen شما باید مطمعن شوید سرویس شما شرایط زیر را دارد :
- مطمئن شوید PHP روی ماشین شما نصب است و همچنین Lumen یک سری افزونه های php را نیاز دارد مثل OpenSSL, PDO و Mbstring .
- برنامه ی مدیریت بسته های php به نام Composer باید نصب کنید . برای نصب کامپوزر به سایت getcomposer.org بروید و براساس سیستم عامل خودتان دانلود و نصب کنید .
- برای کار با Lumen باید با مفاهیم پایگاه داده و زبان PHP آشنا باشید .
- نصب Lumen :
دو راه برای ساختن پروژه ی Lumen وجود دارد :
- با استفاده از نصب کننده ی Lumen
خب ابتدا نصب کننده ی Lumen را توسط Composer دریافت کنید :
خب حالا که نصب کننده ی Lumen دانلود شده میتونید با دستور زیر یک پروژه جدید به نام blog بسازید :Composer global require “Laravel/Lumen-installer”
Lumen new blog
- با استفاده از دستور Create-Project مربوط به Composer
برای نصب کردن Lumen با استفاده از دستورات Composer میتوانید طبق زیر عمل کنید :composer create-project –prefer-dist Laravel/Lumen blog
- اجرای Lumen در مرورگر :
توسط کامند زیر میتوانید پروژه ی Lumen را از طریق localhost:۸۰۰۰ آماده اجرا کنید :
php -S localhost:8000 -t public
- دلایلی که نباید Lumen را انتخاب کنید :
- برعکس فریمورک Laravel که قابلیت های زیادی برای تنظیم کردن فریمورک وجود دارد در Lumen فقط یکجا تنظیمات دارد آن هم فایل .env است .
- Lumen از کامپوننت های Symfony برای routing استفاده نمیکند بجای آن از Fast Route استفاده شده است اگر به ویژگی های Symfony Routing مثل routing روی ساب دامین یا با پارامترهای اختیاری نیاز دارید از فریمورک Laravel استفاده کنید .
- اگر با سینتکس خود لاراول حال نمیکنید سمت Lumen هم نروید .
- پذیرش کم Lumen نسبت به لاراول : تاکنون 20 میلیون بار laravel دانلود شده است در حالیکه lumen فقط 125 هزار دانلود داشته
- Lumen محدود است و بیشتر تمرکز خود را روی تولید API و میکروسرویس گذاشته و اگر برنامه نویس کاری جز اینها انجام دهد ممکن است با محدودیت مواجه شود
- Lumen برپایه ی لاراول است اگر یک پروژه با فریمورکی بجر لاراول پیاده شده باشد برای راه اندازی میکروسرویس روی آن Lumen انتخاب خوبی نیست .
نتیجه گیری درباره ی میکروفریمورک Lumen :
خب تا اینجا متوجه شدیم که Lumen یک میکروفریمورک جدید برپایه ی فریمورک Laravel است و مخصوص ساختن میکروسرویس ها یا API های اپلیکیشن تحت وب است .
همانطور که دیدید نصب و تست کردن Lumen ساده است و به امتحانش می ارزد
و هر زمان هم خواستید میتوانید Lumen را به یک لاراول کامل ارتقا دهید
تمام
مطالب زیر ممکن است برای شما مفید باشد
دیباگ کردن پروژه های لاراولی با Laravel Debugbar کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی چند داشبورد مدیریتی آماده برای لاراول احراز هویت با لاراول 6 جانگو یا لاراول ؟ برنامه نویسان وب بخوانند
محصولات برگزیده مناسب شما
دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی آموزش کامل فریمورک لاراول Laravel کارگاه آموزش کار با API های اینستاگرامی دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین
پایان 👍
- ۰ نظر
- ۲۵ بهمن ۹۸ ، ۰۲:۲۷