مقایسه میکرو فریم ورک لومن (lumen) با لاراول

  • 174 بازدید
  • مقایسه میکرو فریم ورک لومن (lumen) با لاراول

    در این مقاله به مقایسه کلی فریم ورک لاراول با میکروفریم ورک لومن (lumen) خواهیم پرداخت. این مقاله برای کسانی که با لاراول آشنایی دارند اما هنوز با لومن اشنایی ندارند مناسب است.

    مقایسه لاراول با لومن

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

    پر سرعت بودن لومن

    در سایت لاراول ادعا شده است که این میرکوفریم ورک سریعترین فریم ورک موجود در بازار است. سریع ترین api ها را میتوان با کمک این فریم ورک ارایه کرد. از نظر سرعت هرگز برنامه ای را نمیتوان با لاراول نوشت که سرعت آن در همان برنامه در لومن بیشتر باید.  یکی از دلایل سریع بودن لومن این است که بسیاری از امکانات غیر فعال هستند و برای استفاده از آنها باید در تنظیمات پروژه آنها را فعال کرد.

    قدرت یا سرعت

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

    ارتقا از لومن به لاراول

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

    ساخت پروژه جدید با لومن

    یکی از  راه های ساخت پروژه جدید تحت فریم ورک لومن ، استفاده از دستور زیر است:

    composer create-project --prefer-dist laravel/lumen blog

    بعد از نصب باید app key پروژه را در فایل .env مشخص کنید. مقدار app key باید یک رشته تصادفی با طول ۳۲ باشد. توجه کنید که در صورت عدم مشخص کردن این مورد ، سیستم رمز گذاری شما امن نخواهد بود.

    ذخیره و بازیابی پیکربندی

    توسط دستورای زیر میتوان پیکربندی پروژه را مشاهده و ویرایش کرد:

    $value = config('app.locale');

    config(['app.locale' => 'en']);

    برای دریافت پیکربندی محلی نیز از تکه کد زیر استفاده میکنیم:

    $debug = env('APP_DEBUG', true);

    ساختار پروژه

    مسیریابی (routing)

    مسیر یابی برای این است که درخواست های کاربر را توسط دستوراتی دریافت نماییم و برای نحوه پاسخگویی به آنها تصمیم بگیریم.

    عمل مسیریابی در لومن بصورت زیر است:

    $router->get($uri, $callback);

    $router->post($uri, $callback);

    $router->put($uri, $callback);

    $router->patch($uri, $callback);

    $router->delete($uri, $callback);

    $router->options($uri, $callback);

    مسیریابی در لومن شبیه لاراول است ، با این تفاوت که :

    پارامتر های درون مسیر اگر اختیاری باشند بصورت زیر نوشته می شوند.

    $router->get('user[/{name}]', function ($name = null) {

        return $name;

    });

    اگر اکسپشن خاصی قرار است برای یک پارامتر در نظر گرفته شود به زیر است.

    $router->get('user/{name:[A-Za-z]+}', function ($name) {

        //

    });

    میانجی ها (Middleware)

    میانجی ها در لومن دقیقا شبیه لاراول هستند. میتوان میانجی تعریف کرد ، میانجی را معرفی کرد ، آن را به یک مسیر اعمال کرد و یا میانجی با پارامتر تعریف کرد.

    کنترلر ها

    در لومن هم با همان ساختار و پوشه بندی ای که در لاراول هست ، میتواند کنترلر هایی را ساخت و مسیریابی ها را به آنها ارسال کرد.

    درخواست ها (request)

    دریافت مقادیر از درخواست های کاربران نیز شبیه به لاراول میباشد. میتوانید از تابع request و یا شی ای از Request کمک بگیرید تا به اطلاعات درخواست کاربر دسترسی داشته باشید.

    پاسخ (response)

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

    تا اینجا مباحث پایه ای فریم ورک لومن را بررسی کردیم. عنوانین دیگری مانند احرازهویت ، کش ، الوکونت و ... در لومن به صورت های مختلفی وجود دارند. اما محدودیت های خود را دارند. برای نمونه eloquent ها بطور پیشفرض فعال نیستند و برای فعال کردن و استفاده از آنها نیاز است که در فایل app.php ، دستور app->withEloquent را از حالت کامنت خارج کنیم. سایر تفاوت ها را بصورت موردی در ادامه نوشته اسم:

    در لومن خبری از Form Requests نیست و برای اعتبار سنجی باید از $route استفاده کرد:

    $router->post('/user', function (Request $request) {

        $this->validate($request, [        'name' => 'required',        'email' => 'required|email|unique:users'    ]);

         // Store User...

    });

    در لومن متغییر $errors ، در ویو ها در دسترس نیستند ، و نباید از آنها استفاده کرد.

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

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

    ارسال دیدگاه

    نشانی ایمیل شما منتشر نخواهد شد.

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    سئوال دارید؟ کارشناسان ما همواره پاسخگوی شما هستند.

       ارتباط از طریق نرم افزار پیام رسان واتس آپ