آموزش ویدئویی نحوه نصب پکیج socialite در لاراول

آموزش ویدئویی نحوه نصب پکیج socialite در لاراول
آکادمی آی تی
آکادمی آی تی
dots

آموزش ویدئویی نحوه نصب پکیج socialite در لاراول

زمان مورد نیاز برای مطالعه 5 دقیقه

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

دپارتمان ‌ها: آموزش برنامه نویسی
1400/04/26
2,161 بازدید

 

پکیج چیست؟

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

 

پکیج های لاراول

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

برای سادگی کاربران، لاراول پکیج هایی را در اختیار آنها قرار داده است. این پکیج ها به نوعی، مؤلفه هایی هستند که ویزگی های خاصی را ارائه می دهند و به صورت آزاد می توان از آنها در هر قسمتی از کد برنامه استفاده نمود. این پکیج ها، امکان دسترسی به همه ویژگی های برنامه های میزبان را فراهم کرده و از قاعده DRY پیروی می کنند، یعنی به حداقل رساندن حجم کد برنامه ها و بهبود قابلیت نگهداری برنامه.

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

دو نوع پکیج اصلی وجود دارد که با برنامه های لاراول به کار می رود:

•    پکیچ های مستقل از الگو: این پکیج ها برای لاراول مناسب هستند، اما با سایر الگوهای PHP نیز مطابقت دارند.

•    پکیج های مخصوص لاراول: این پکیج ها به صورت اختصاصی برای لاراول کار می کنند.

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

 

پکیج های احراز هویت

•    User Verification
این پکیج مفید به شما امکان احراز هویت کاربران و تأیید آدرس ایمیل آنها را می دهد، بنابراین از ارسال ایمیل های مهم (مثلاً ایمیل های تجاری) به آدرس های نامعتبر و فیک جلوگیری خواهد شد.

•    No Captcha
برخلاف نامش، این پکیج قابلیت Google reCaptcha را برای اپ های لاراول فراهم می آورد. فعال سازی کپچا در لاراول بسیار ساده است، ابتدا از طریق سایت reCaptcha آن را تهیه کرده و کلید امنیتی را نیز تعریف می کنید، سپس این پکیج، کد مناسب را برای درج در اپ شما ارائه می دهد.

 

آموزش مرتبط با پکیج کپچا را در مقاله کپچا در لاراول بخوانید.

 

•    Heyman
پکیج Laravel Heyman به شما این امکان را می دهد که قابلیت هایی نظیر اعتبارسنجی، احراز هویت و صدور مجوز را از سایر بخش های اپ خود مجزا کنید. 

•    Socialite Laravel
Socialite Laravel یک پکیج بسیار محبوب برای مدیریت احراز هویت اجتماعی با OAuth است. این پکیج از حساب های کاربری فیس بوک، توئیتر، Github، Bitbucket و یک سری حساب های دیگر، برای احراز هویت استفاده می کند. بنابراین با کمک این پکیج، می توان کد برنامه را بسیار سبک کرده و لاگین کردن به اپ را تسهیل نمود. همچنین نحوه نصب Socialite بسیار آسان بوده و با اجرای چند کد، قابل انجام است.

 

پکیج های بازرسی و اشکال زدایی

•    Laravel Debugbar
این پکیج، یکی از محبوب ترین نمونه های ارائه شده لاراول به منظور بارزسی کد است. Debugbar، نوارابزار جدیدی تحت عنوان dev را به پروژه شما اضافه کرده که به کمک آن می توانید هنگام حرکت در کد، اشکال زدایی کنید. این ابزار، قابلیت نمایش پیام های debug، exceptions، views، routes و queries را در اپ شما دارا می باشد.

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

•    Bugsnag
یکی دیگر از ابزارهای مشترک بین پلتفرم ها، به منظور مانیتورینگ خطا و exceptions در اپ، Bugsnag است. عملکرد این پکیج مشابه Sentry است با این تفاوت که اعلان ها علاوه بر ایمیل، از طریق Slack و Pagerduty نیز صورت می گیرد.

 

دوره مرتبط و پیشنهادی: آموزش لاراول 8 از مقدماتی تا پیشرفته

 

روند توسعه پکیج لاراول

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

•    نصب لاراول
اولین قدم برای توسعه یک پکیج لاراول، ایجاد یک پروژه لاراول است. برای نصب لاراول از کامپوزر یا Composer استفاده می شود. بدین منظور، به دایرکتوری پروژه رفته و دستور زیر را اجرا کنید:

composer create-project --prefer-dist laravel/laravel .

سایر گزینه های نصب در قسمت Instalation در لینک سایت اصلی (https://laravel.com/docs/5.6/installation#installation) موجود است.

•    ایجاد یک فولدر
در ادامه، در دایرکتوری پروژه، یک فولدر پکیج می سازیم. مرسوم ترین روش برای نامگذاری پکیج ها به این صورت است:

[Creator or Vendor]/[Package name].

برای مثال، در پکیج laravel/framework بخش Vendor با عنوان laravel نامگذاری شده و برای بخش Package name نیز از عنوان framework استفاده شده است.

•    ایجاد فایل کامپوزر
هر پکیج می بایست دارای یک فایل composer.json باشد که همه پکیج ها و متعلقات آن را در بر می گیرد. در داخل فولدر todolist، دستور زیر را اجرا کنید:
composer init
سپس جزئیات پکیج از شما خواسته می شود. با فشردن دکمه enter می توانید از این مرحله صرف نظر کرده و موارد پیش فرض را انتخاب کنید. می توانید بعداً این اطلاعات را در فایل composer.json تغییر دهید.

{
    "name": "wisdmlabs/todolist",
    "description": "You can create the to-do-list of your task.",
    "authors": [
        {
            "name": "John Doe",
            "email": "john.doe@wisdmlabs.com"
        }
    ],
    "minimum-stability": "dev"
}

•    بارگذاری پکیج از فایل اصلی Composer.JSON
در این مرحله، فایل composer.json برای هر اپلیکیشن لاراول در دایرکتوری root ایجاد شده است. کافیست که پکیج را برای اپلیکیشن مورد نظر تعریف کنید. برای این منظور، نام پکیج را در محل autoload > psr-4 مطابق با دستور زیر وارد کنید:

  "autoload": {
        "classmap": [
    ...
        ],
        "psr-4": {
            "App\\": "app/",
            "WisdmLabs\\Todolist\\": "packages/wisdmlabs/todolist/src/"
        }
    },

•    ایجاد یک Service Provider برای پکیج
service provider در واقع یک نقطه دسترسی به پکیج است. همه اطلاعات مرتبط با پکیج ایجاد شده نظیر مکان، migration، routes و غیره در این نقطه دسترسی بارگذاری می گردد. برای ایجاد یک service provider، دستور زیر را اجرا کنید:

Php artisan make:provider TodolistServiceProvider

این دستور، فایل TodolistServiceProvider.phpرا اجرا می کند که در دایرکتوری app/Providers یافت می شود. حالا این فایل به پکیج ایجاد شده منتقل می گردد، یعنی به فولدر packages/wisdmlabs/todolist/scr. لازم به ذکر است که می بایست در این مرحله، نام فایل را به wisdmlabs\todolist تغییر دهید.

به کمک دستورات  boot()و register() به ترتیب می توانید برخی از مسیرها را در پکیج مشخص کرده و پکیج را در یک دسته بندی خاص در اپ مورد نظر قرار دهید. پیش از آنکه پکیج را boot یا regiter کنید، می بایست service provider را در فایل config/app.php قرار دهید؛ مطابق دستور زیر:

'providers' => [
        /*
         * Application Service Providers...
         */
         ...
        App\Providers\RouteServiceProvider::class,
        Wisdmlabs\Todolist\TodolistServicesProvider::class,
    ],

•    ایجاد یک Migration
در ادامه می بایست با استفاده از دستور زیر، یک migration ایجاد نمایید.

php art    isan make:migration create_task_table --create=tasks

migration در این مکان ایجاد می گردد: database/migration/*_create_task_table.php. در ادامه، این فایل migration به فایل packages/wisdmlabs/todolist/src/migrations/*_create_task_table.php در پیکج ایجاد شده، منتقل می گردد.

•    ایجاد مدل جدول
با ایجاد migration، می توان آن را در این مرحله اصلاح کرد و ستون هایی را به صورت جدول به آن افزود. می توان برای ایجاد جدول، از مدل eloquent استفاده کرد. در این صورت، وارد کردن داده، به روز رسانی و یا حذف داده ها از جدول، آسان تر خواهد شد. برای این منظور دستور زیر را اجرا کنید:

php artisan make:model Task

حالا، فایل Task.php را از app/Task.php به فولدر پکیج یعنی providers/wisdmlabs/todolist/src/Task.php منتقل کنید. دوباره فراموش نکنید که قسمت نام را به wisdmlabs\todolist تغییر دهید. در این مرحله، اطلاعات لازم را مطابق با دستور زیر به مدل اضافه کنید:

<?php
namespace Wisdmlabs\Todolist;

use Illuminate\Database\Eloquent\Model;

/**
* Model of the table tasks.
*/
class Task extends Model
{
    protected $table = 'tasks';

    protected $fillable = [
        'name',
    ];
}

•    ایجاد یک کنترلر
با اجرای دستور زیر، یک کنترلر ایجاد می شود:

php artisan make:controller TaskController

سپس، فایل کنترلر TaskControllerرا از app/controllers/TaskController.php به providers/wisdmlabs/todolist/TaskController.php منتقل کرده و قسمت نام را به wisdmlabs\todolist تغییر دهید. این کنترلر، روش های لازم برای مرتب سازی پکیج را در اختیار شما قرار می دهد. 

•    ایجاد یک فایل Routes
یک فایل جدید در فولدر wisdmlabs/todolist/src ایجاد کرده و آن را routes.php بنامید. سپس فایل های Routes را که می خواهید از آنها در پکیج استفاده کنید، تعریف نمایید.

<?php
Route::resource('/task', 'Wisdmlabs\Todolist\TodolistController');

•    ایجاد Views
برای ایجاد views، می بایست یک فولدر views در wisdmlabs/todolist/src/ ایجاد کنید. سپس فایل های views مورد نیاز را در این فولدر بسازید. 

•    به روز رسانی Service Provider به منظور بارگذاری پکیج
 اگر می خواهید استفاده کنندگان از پکیج شما قادر به ویرایش فایل views باشند، در این صورت این فایل را می بایست در Service Provider منتشر کنید. برای این منظور از دستور زیر استفاده کنید:

php artisan vendor:publish --tag=wisdmlabs\todolist\TodolistServiceProvider

دستور بالا فولدری را در پکیج شما زیر فولدر views ایجاد می کند، تحت عنوان /resources/views/wissdmlabs/todolist/. با این کار، امکان ویرایش و تغییر view توسط کاربر فراهم می شود.

•    به روز رسانی فایل Composer
در مرحله نهایی، می بایست فایل laravelcollective/html package را در پکیج وارد کنید. برای این کار، لازم است متعلقات پکیج را در کامپوزر composer.json اضافه کنید، به صورت زیر:

{
    "name": "wisdmlabs/todolist",
    "description": "You can create the to-do-list of your task.",
    "authors": [
        {
            "name": "John Doe",
            "email": "john.doe@wisdmlabs.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "laravelcollective/html": "^5.5"
    },
    "extra": {
        "laravel": {
            "providers": [
                "wisdmlabs\\todolist\\TodolistServiceProvider"
            ]
        }
    },
    "autoload": {
        "psr-4": {
            "Wisdmlabs\\Todolist\\": "src/"
        }
    }
}

در این مرحله پکیج سفارشی شما آماده است و می توانید از آن استفاده کنید.

 

بسته socialite برای ایجاد لاگین از طریق شبکه های اجتماعی

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

تنها مشخصات حساب کاربری یکی از شبکه های اجتماعی خود را وارد کرده و هربار با همین روش، به سایت دسترسی می یابد. برای افزودن چندین سرویس دهنده شبکه های اجتماعی به یک اپ لاراول، از پکیج Socialite استفاده می شود که توسط لاراول و به منظور احراز هویت اجتماعی ارائه شده است. در حال حاضر این پکیج، از احراز هویت توسط حساب کاربری فیس بوک، توئیتر، LinkedIn, Google, GitHub و Bitbucket پشتیبانی می کند. نحوه نصب Socialite در ادامه ارائه خواهد شد.

 

نحوه نصب socialite

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

برای نصب Socialite Laravel، دستور زیر را در دایرکتوری root در پروژه لاراول اجرا کنید. با این کار، پکیج Socialite را به پروژه خود وارد خواهید کرد:

composer require laravel/socialite

پس از این مرحله، می بایست service provider را در config/app.php نصب نمایید. در آرایه providers از فایل config/app.php، دستور زیر را اضافه کنید:

Laravel\Socialite\SocialiteServiceProvider::class,

در آرایه aliases در همان فایل، دستور زیر را اضافه کنید:

‘Socialite’ => Laravel\Socialite\Facades\Socialite::class,

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