ਲੇਖ

ਲਾਰਵੇਲ ਵਿੱਚ ਸੇਵਾ ਪ੍ਰਦਾਤਾ: ਉਹ ਕੀ ਹਨ ਅਤੇ ਲਾਰਵੇਲ ਵਿੱਚ ਸੇਵਾ ਪ੍ਰਦਾਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ

Laravel ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਕੇਂਦਰੀ ਸਥਾਨ ਹਨ ਜਿੱਥੇ ਐਪਲੀਕੇਸ਼ਨ ਲਾਂਚ ਕੀਤੀ ਗਈ ਹੈ। ਭਾਵ, ਕੋਰ ਲਾਰਵੇਲ ਸੇਵਾਵਾਂ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਸੇਵਾਵਾਂ, ਕਲਾਸਾਂ, ਅਤੇ ਉਹਨਾਂ ਦੀ ਨਿਰਭਰਤਾ ਪ੍ਰਦਾਤਾਵਾਂ ਦੁਆਰਾ ਸੇਵਾ ਕੰਟੇਨਰ ਵਿੱਚ ਰੱਖੀ ਜਾਂਦੀ ਹੈ। 

ਦੂਜੇ ਸ਼ਬਦਾਂ ਵਿੱਚ, ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਇੱਕ ਫਨਲ ਵਾਂਗ ਹੁੰਦੇ ਹਨ ਜਿਸ ਰਾਹੀਂ ਅਸੀਂ "ਕਲਾਸ" ਬਾਲਣ ਨੂੰ ਇੱਕ ਟੈਂਕ ਵਿੱਚ ਡੋਲ੍ਹਦੇ ਹਾਂ ਜਿਸਨੂੰ ਲਾਰਵੇਲ ਕਹਿੰਦੇ ਹਨ ਇੱਕ ਇੰਜਣ ਦੇ "ਸੇਵਾ ਕੰਟੇਨਰ" ਕਿਹਾ ਜਾਂਦਾ ਹੈ।

ਮਿਸਾਲ

ਜੇਕਰ ਅਸੀਂ config/app.php ਖੋਲ੍ਹਦੇ ਹਾਂ ਤਾਂ ਅਸੀਂ "ਪ੍ਰਦਾਤਾ" ਨਾਮ ਦੇ ਨਾਲ ਇੱਕ ਐਰੇ ਵੇਖਾਂਗੇ

'providers' => [

        /*
        * Laravel Framework Service Providers...
        */
        Illuminate\Auth\AuthServiceProvider::class,
        Illuminate\Broadcasting\BroadcastServiceProvider::class,
        Illuminate\Bus\BusServiceProvider::class,
        Illuminate\Cache\CacheServiceProvider::class,
        Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
        Illuminate\Cookie\CookieServiceProvider::class,
        .
        .
        .
],

ਇਹ ਕੁਝ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਹਨ ਜੋ ਲਾਰਵੇਲ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਅਰਥਾਤ ਬੁਨਿਆਦੀ ਸੇਵਾਵਾਂ ਜੋ ਸੇਵਾ ਦੇ ਕੰਟੇਨਰ ਵਿੱਚ ਰੱਖੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।

ਜਦੋਂ ਮੈਂ service provider ਕੀ ਉਹ ਕੀਤੇ ਜਾਂਦੇ ਹਨ?

ਜੇ ਅਸੀਂ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਵੇਖਦੇ ਹਾਂ ਬੇਨਤੀ ਜੀਵਨ ਚੱਕਰ 'ਤੇ , ਹੇਠ ਲਿਖੀਆਂ ਫਾਈਲਾਂ ਸ਼ੁਰੂ ਵਿੱਚ ਚਲਾਈਆਂ ਜਾਂਦੀਆਂ ਹਨ:

  • public/index.php
  • bootstrap/app.php
  • app/Http/Kernel.php ਅਤੇ ਉਸ ਦਾ Middlewares
  • Service Providers: ਇਸ ਲੇਖ ਦੀ ਸਮੱਗਰੀ

ਕੁਆਲੀ service provider ਕੀ ਉਹ ਲੋਡ ਹੋਏ ਹਨ? 

ਉਹ ਉਹ ਹਨ defiਐਰੇ ਵਿੱਚ ਨਾਈਟਸ config/app.php:

return [
 
    // ... other configuration values
 
    'providers' => [
 
        /*
         * Laravel Framework Service Providers...
         */
        Illuminate\Auth\AuthServiceProvider::class,
        Illuminate\Broadcasting\BroadcastServiceProvider::class,
 
        // ... other framework providers from /vendor
        Illuminate\Validation\ValidationServiceProvider::class,
        Illuminate\View\ViewServiceProvider::class,
 
        /*
         * PUBLIC Service Providers - the ones we mentioned above
         */
        App\Providers\AppServiceProvider::class,
        App\Providers\AuthServiceProvider::class,
        // App\Providers\BroadcastServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,
 
    ],
 
];

ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਦੇਖ ਸਕਦੇ ਹਾਂ, ਦੀ ਇੱਕ ਸੂਚੀ ਹੈ service provider ਫੋਲਡਰ ਵਿੱਚ ਜਨਤਕ ਨਹੀਂ ਹੈ /vendor, ਸਾਨੂੰ ਨਾ ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਛੂਹਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਨਾ ਹੀ ਸੋਧਣਾ ਚਾਹੀਦਾ ਹੈ। ਉਹ ਜੋ ਸਾਡੀ ਦਿਲਚਸਪੀ ਰੱਖਦੇ ਹਨ, ਹੇਠਾਂ ਹਨ BroadcastServicerProvider ਮੂਲ ਰੂਪ ਵਿੱਚ ਅਯੋਗ, ਸ਼ਾਇਦ ਇਸ ਲਈ ਕਿ ਇਹ ਬਹੁਤ ਘੱਟ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

ਇਹ ਸਾਰੇ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਸੂਚੀ ਨੂੰ ਦੁਹਰਾਉਂਦੇ ਹੋਏ, ਉੱਪਰ ਤੋਂ ਹੇਠਾਂ ਤੱਕ ਚੱਲਦੇ ਹਨ ਦੋ ਵਾਰ:

  • ਪਹਿਲੀ ਦੁਹਰਾਓ ਇੱਕ ਵਿਕਲਪਿਕ ਢੰਗ ਦੀ ਤਲਾਸ਼ ਕਰ ਰਿਹਾ ਹੈ register(), ਵਿਧੀ ਤੋਂ ਪਹਿਲਾਂ ਕੌਂਫਿਗਰ ਕੀਤੀ ਕਿਸੇ ਚੀਜ਼ ਨੂੰ ਚਲਾਉਣ ਲਈ (ਅੰਤ ਵਿੱਚ) ਉਪਯੋਗੀ ਹੈ boot().
  • ਦੂਜੀ ਦੁਹਰਾਓ ਵਿਧੀ ਨੂੰ ਚਲਾਉਂਦੀ ਹੈ boot() ਸਾਰੇ ਪ੍ਰਦਾਤਾਵਾਂ ਦੇ। ਦੁਬਾਰਾ, ਇੱਕ ਇੱਕ ਕਰਕੇ, ਉੱਪਰ ਤੋਂ ਹੇਠਾਂ, ਐਰੇ ਦੇ 'providers'.
  • ਅੰਤ ਵਿੱਚ, ਸਾਰੇ ਸੇਵਾ ਪ੍ਰਦਾਤਾਵਾਂ 'ਤੇ ਕਾਰਵਾਈ ਕੀਤੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਲਾਰਵੇਲ ਮਾਰਗ (ਰੂਟ) ਨੂੰ ਪਾਰਸ ਕਰਨ, ਕੰਟਰੋਲਰ ਨੂੰ ਚਲਾਉਣ, ਟੈਂਪਲੇਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਆਦਿ ਲਈ ਅੱਗੇ ਵਧਦਾ ਹੈ।

ਸੇਵਾ ਪ੍ਰਦਾਤਾ Laravel ਪ੍ਰੀdefiਨੀਤੀ

I Service Providers ਲਾਰਵੇਲ ਵਿੱਚ ਸ਼ਾਮਲ, ਉਹ ਸਾਰੇ ਫੋਲਡਰ ਵਿੱਚ ਮੌਜੂਦ ਹਨ app/Providers:

  • AppServiceProvider
  • AuthServiceProvider
  • BroadcastServiceProvider
  • EventServiceProvider
  • RouteServiceProvider

ਉਹ ਸਾਰੀਆਂ PHP ਕਲਾਸਾਂ ਹਨ, ਹਰ ਇੱਕ ਇਸਦੇ ਆਪਣੇ ਵਿਸ਼ੇ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ: App, Auth, Broadcasting, Events e Routes. ਪਰ ਉਹਨਾਂ ਸਾਰਿਆਂ ਵਿੱਚ ਇੱਕ ਚੀਜ਼ ਸਾਂਝੀ ਹੈ: ਵਿਧੀ boot().

ਉਸ ਵਿਧੀ ਦੇ ਅੰਦਰ, ਅਸੀਂ ਉਹਨਾਂ ਭਾਗਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਨਾਲ ਸਬੰਧਤ ਕੋਈ ਵੀ ਕੋਡ ਲਿਖ ਸਕਦੇ ਹਾਂ: auth, events, route, ਆਦਿ ਦੂਜੇ ਸ਼ਬਦਾਂ ਵਿੱਚ, ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਕੁਝ ਗਲੋਬਲ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਰਜਿਸਟਰ ਕਰਨ ਲਈ ਸਿਰਫ਼ ਕਲਾਸਾਂ ਹਨ।

ਉਹ "ਪ੍ਰਦਾਤਾ" ਦੇ ਤੌਰ 'ਤੇ ਵੱਖਰੇ ਹਨ ਕਿਉਂਕਿ ਉਹ ਐਪਲੀਕੇਸ਼ਨ ਲਾਈਫਸਾਈਕਲ ਵਿੱਚ ਬਹੁਤ ਜਲਦੀ ਚੱਲਦੇ ਹਨ, ਇਸਲਈ ਐਗਜ਼ੀਕਿਊਟਿੰਗ ਸਕ੍ਰਿਪਟ ਮਾਡਲਾਂ ਜਾਂ ਕੰਟਰੋਲਰਾਂ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਥੇ ਕੁਝ ਗਲੋਬਲ ਸੁਵਿਧਾਜਨਕ ਹੈ।

ਜ਼ਿਆਦਾਤਰ ਕਾਰਜਸ਼ੀਲਤਾ RouteServiceProvider ਵਿੱਚ ਹੈ, ਇੱਥੇ ਕੋਡ ਹੈ:

class RouteServiceProvider extends ServiceProvider
{
    public const HOME = '/dashboard';
 
    public function boot()
    {
        $this->configureRateLimiting();
 
        $this->routes(function () {
            Route::prefix('api')
                ->middleware('api')
                ->group(base_path('routes/api.php'));
 
            Route::middleware('web')
                ->group(base_path('routes/web.php'));
        });
    }
 
    protected function configureRateLimiting()
    {
        RateLimiter::for('api', function (Request $request) {
            return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
        });
    }
}

ਇਹ ਉਹ ਕਲਾਸ ਹੈ ਜਿੱਥੇ ਫਾਈਲਾਂ ਦੀ ਸੰਰਚਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ routeਦੇ ਨਾਲ routes/web.phproutes/api.php ਮੂਲ ਰੂਪ ਵਿੱਚ ਸ਼ਾਮਲdefiਨੀਤਾ ਨੋਟ ਕਰੋ ਕਿ API ਲਈ ਵੱਖ-ਵੱਖ ਸੰਰਚਨਾਵਾਂ ਵੀ ਹਨ: ਐਂਡਪੁਆਇੰਟ ਪ੍ਰੀਫਿਕਸ /api ਅਤੇ ਮਿਡਲਵੇਅਰ api ਸਭ ਲਈ routes.

ਅਸੀਂ ਸੰਪਾਦਿਤ ਕਰ ਸਕਦੇ ਹਾਂ service providers, ਜੋ ਫੋਲਡਰ ਵਿੱਚ ਨਹੀਂ ਹਨ /vendor. ਇਹਨਾਂ ਫਾਈਲਾਂ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ ਉਦੋਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਬਹੁਤ ਸਾਰੇ ਮਾਰਗ ਹੁੰਦੇ ਹਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਖਾਸ ਫਾਈਲਾਂ ਵਿੱਚ ਵੱਖ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ। ਤੁਸੀਂ ਬਣਾਉਂਦੇ ਹੋ routes/auth.php ਅਤੇ ਉੱਥੇ ਪਾਥ ਪਾਓ, ਫਿਰ ਤੁਸੀਂ ਵਿਧੀ ਵਿੱਚ ਉਸ ਫਾਈਲ ਨੂੰ "ਯੋਗ" ਕਰੋ boot() di RouteServiceProvider, ਸਿਰਫ਼ ਤੀਜਾ ਵਾਕ ਜੋੜੋ:

`Route::middleware('web') // or maybe you want another middleware?
    ->group(base_path('routes/auth.php'));

AppServiceProvider ਇਹ ਖਾਲੀ ਹੈ। ਕੋਡ ਜੋੜਨ ਦੀ ਇੱਕ ਆਮ ਉਦਾਹਰਣ AppServiceProvider, Eloquent ਵਿੱਚ ਆਲਸੀ ਲੋਡਿੰਗ ਨੂੰ ਅਯੋਗ ਕਰਨ ਬਾਰੇ ਹੈ। ਇਹ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਹੁਣੇ ਹੀ ਲੋੜ ਹੈ ਦੋ ਲਾਈਨਾਂ ਜੋੜੋ ਢੰਗ ਵਿੱਚ boot():

ਇਨੋਵੇਸ਼ਨ ਨਿਊਜ਼ਲੈਟਰ
ਨਵੀਨਤਾ ਬਾਰੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਖ਼ਬਰਾਂ ਨੂੰ ਨਾ ਭੁੱਲੋ। ਉਹਨਾਂ ਨੂੰ ਈਮੇਲ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅੱਪ ਕਰੋ।
// app/Providers/AppServiceProvider.php
use Illuminate\Database\Eloquent\Model;
 
public function boot()
{
    Model::preventLazyLoading(! $this->app->isProduction());
}

ਇਹ ਇੱਕ ਅਪਵਾਦ ਸੁੱਟ ਦੇਵੇਗਾ ਜੇਕਰ ਇੱਕ ਰਿਸ਼ਤਾ ਮਾਡਲ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।

ਆਪਣਾ ਬਣਾਓ service provider ਪਸੰਦੀ

ਪ੍ਰੀ ਫਾਈਲਾਂ ਤੋਂ ਇਲਾਵਾdefinites, ਅਸੀਂ ਆਸਾਨੀ ਨਾਲ ਇੱਕ ਨਵਾਂ ਬਣਾ ਸਕਦੇ ਹਾਂ Service Provider, ਪਹਿਲਾਂ ਤੋਂ ਇਲਾਵਾ ਹੋਰ ਵਿਸ਼ਿਆਂ ਨਾਲ ਸਬੰਧਤdefiਦੇ ਰੂਪ ਵਿੱਚ ਸਮਾਪਤ ਹੋਇਆ auth/event/routes.

ਇੱਕ ਕਾਫ਼ੀ ਖਾਸ ਉਦਾਹਰਨ ਦ੍ਰਿਸ਼ ਸੰਰਚਨਾ ਹੈ Blade. ਅਸੀਂ ਇੱਕ ਨਿਰਦੇਸ਼ ਬਣਾ ਸਕਦੇ ਹਾਂ Blade, ਅਤੇ ਫਿਰ ਉਸ ਕੋਡ ਨੂੰ ਵਿਧੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ boot(ਕਿਸੇ ਵੀ ਦਾ service provider, ਡਿਫੌਲਟ ਸਮੇਤ AppServiceProvider. ਚਲੋ ਹੁਣ ਏ ViewServiceProvider ਵੱਖਰਾ।

ਅਸੀਂ ਇਸਨੂੰ ਇਸ ਕਮਾਂਡ ਨਾਲ ਤਿਆਰ ਕਰ ਸਕਦੇ ਹਾਂ:

php artisan make:provider ViewServiceProvider

ਜਿਸ ਨਾਲ ਕਲਾਸ ਜਨਰੇਟ ਹੋਵੇਗੀ ਤਾਂ ਪ੍ਰੀdefiਰਾਤ:

namespace App\Providers;
 
use Illuminate\Support\ServiceProvider;
 
class ViewServiceProvider extends ServiceProvider
{
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
 
    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }
}

ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਅੰਦਰ ਦੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਇੱਥੇ ਦੋ ਤਰੀਕੇ ਹਨ:

ਰਜਿਸਟਰ() ਵਿਧੀ

ਰਜਿਸਟਰ() ਵਿਧੀ ਸਾਨੂੰ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ defiਸਾਡੇ ਸੇਵਾ ਕੰਟੇਨਰ ਲਈ nish ਲਿੰਕ. ਉਦਾਹਰਨ ਲਈ, ਹੇਠ ਦਿੱਤੇ ਕੋਡ ਵਿੱਚ:

public function register()
{
    $this->app->singleton(my_class, function($app){
        return new MyClass($app);
    });
}

$this->ਐਪ laravel ਵਿੱਚ ਇੱਕ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਹੈ ਜਿਸਨੂੰ ਇੱਕ ਸਿੰਗਲਟਨ ਕਲਾਸ ਐਪ ਰਾਹੀਂ ਐਕਸੈਸ ਕਰ ਸਕਦਾ ਹੈ।

ਸਿੰਗਲਟਨ ਇੱਕ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ. ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਲਾਗੂ ਕਰਦੇ ਸਮੇਂ, ਅਸੀਂ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਸੂਚਿਤ ਕਰ ਰਹੇ ਹਾਂ ਕਿ ਐਪ ਵਿੱਚ ਮਾਪਦੰਡ ਦੇ ਤੌਰ 'ਤੇ ਜੋ ਵੀ ਕਲਾਸ ਪਾਸ ਕੀਤੀ ਗਈ ਹੈ, ਉਸ ਦੀ ਪੂਰੀ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਸਿਰਫ ਇੱਕ ਉਦਾਹਰਣ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ MyClass ਨੂੰ ਇੱਕ ਵਾਰ ਹੱਲ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਇਸ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਉਦਾਹਰਣ ਹੋਵੇਗੀ, ਜਿਸਨੂੰ my_class ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਐਕਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

boot() ਵਿਧੀ

boot() ਵਿਧੀ ਤੁਹਾਨੂੰ ਰਜਿਸਟਰ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਹਿਲਾਂ ਰਜਿਸਟਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਸੇਵਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਫਿਰ ਤੁਸੀਂ ਇਸ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਪੂਰੀ ਸੇਵਾ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ।

ਪਿਛਲੀ ਉਦਾਹਰਨ 'ਤੇ ਵਾਪਸ ਜਾ ਕੇ, ਆਓ ਵਿਧੀ ਨੂੰ ਹਟਾ ਦੇਈਏ register() ਅਤੇ ਅੰਦਰ boot() ਬਲੇਡ ਡਾਇਰੈਕਟਿਵ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ:

use Illuminate\Support\Facades\Blade;
 
public function boot()
{
    Blade::directive('datetime', function ($expression) {
        return "<?php echo ($expression)->format('m/d/Y H:i'); ?>";
    });
}

ਦੀ ਇੱਕ ਹੋਰ ਉਦਾਹਰਨ ViewServiceProvider ਸੰਬੰਧ View Composers, ਇੱਥੇ ਸਨਿੱਪਟ ਹੈ ਅਧਿਕਾਰਤ Laravel ਸਾਈਟ ਤੋਂ :

use App\View\Composers\ProfileComposer;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
 
class ViewServiceProvider extends ServiceProvider
{
    public function boot()
    {
        // Using class based composers...
        View::composer('profile', ProfileComposer::class);
 
        // Using closure based composers...
        View::composer('dashboard', function ($view) {
            //
        });
    }
}

ਚਲਾਉਣ ਲਈ, ਇਸ ਨਵੇਂ ਪ੍ਰਦਾਤਾ ਨੂੰ ਪ੍ਰਦਾਤਾ ਐਰੇ ਵਿੱਚ ਸ਼ਾਮਲ/ਰਜਿਸਟਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ config/app.php:

return [
    // ... other configuration values
 
    'providers' => [
 
        App\Providers\AppServiceProvider::class,
        App\Providers\AuthServiceProvider::class,
        // App\Providers\BroadcastServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,
 
        // Add your provider here
        App\Providers\ViewServiceProvider::class,
    ],
];

Ercole Palmeri

ਤੁਹਾਨੂੰ ਇਸ ਵਿੱਚ ਵੀ ਦਿਲਚਸਪੀ ਹੋ ਸਕਦੀ ਹੈ:

ਇਨੋਵੇਸ਼ਨ ਨਿਊਜ਼ਲੈਟਰ
ਨਵੀਨਤਾ ਬਾਰੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਖ਼ਬਰਾਂ ਨੂੰ ਨਾ ਭੁੱਲੋ। ਉਹਨਾਂ ਨੂੰ ਈਮੇਲ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅੱਪ ਕਰੋ।

ਤਾਜ਼ਾ ਲੇਖ

ਭਵਿੱਖ ਇੱਥੇ ਹੈ: ਸ਼ਿਪਿੰਗ ਉਦਯੋਗ ਗਲੋਬਲ ਆਰਥਿਕਤਾ ਵਿੱਚ ਕਿਵੇਂ ਕ੍ਰਾਂਤੀ ਲਿਆ ਰਿਹਾ ਹੈ

ਜਲ ਸੈਨਾ ਖੇਤਰ ਇੱਕ ਸੱਚੀ ਗਲੋਬਲ ਆਰਥਿਕ ਸ਼ਕਤੀ ਹੈ, ਜਿਸ ਨੇ 150 ਬਿਲੀਅਨ ਮਾਰਕੀਟ ਵੱਲ ਨੈਵੀਗੇਟ ਕੀਤਾ ਹੈ...

1 ਮਈ 2024

ਪ੍ਰਕਾਸ਼ਕ ਅਤੇ ਓਪਨਏਆਈ ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ ਦੁਆਰਾ ਸੰਸਾਧਿਤ ਜਾਣਕਾਰੀ ਦੇ ਪ੍ਰਵਾਹ ਨੂੰ ਨਿਯਮਤ ਕਰਨ ਲਈ ਸਮਝੌਤਿਆਂ 'ਤੇ ਹਸਤਾਖਰ ਕਰਦੇ ਹਨ

ਪਿਛਲੇ ਸੋਮਵਾਰ, ਫਾਈਨੈਂਸ਼ੀਅਲ ਟਾਈਮਜ਼ ਨੇ ਓਪਨਏਆਈ ਨਾਲ ਇੱਕ ਸੌਦੇ ਦਾ ਐਲਾਨ ਕੀਤਾ। FT ਆਪਣੀ ਵਿਸ਼ਵ ਪੱਧਰੀ ਪੱਤਰਕਾਰੀ ਨੂੰ ਲਾਇਸੰਸ ਦਿੰਦਾ ਹੈ...

30 ਅਪ੍ਰੈਲ 2024

ਔਨਲਾਈਨ ਭੁਗਤਾਨ: ਇੱਥੇ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਕਿਵੇਂ ਸਟ੍ਰੀਮਿੰਗ ਸੇਵਾਵਾਂ ਤੁਹਾਨੂੰ ਹਮੇਸ਼ਾ ਲਈ ਭੁਗਤਾਨ ਕਰਦੀਆਂ ਹਨ

ਲੱਖਾਂ ਲੋਕ ਸਟ੍ਰੀਮਿੰਗ ਸੇਵਾਵਾਂ ਲਈ ਭੁਗਤਾਨ ਕਰਦੇ ਹਨ, ਮਹੀਨਾਵਾਰ ਗਾਹਕੀ ਫੀਸ ਅਦਾ ਕਰਦੇ ਹਨ। ਇਹ ਆਮ ਰਾਏ ਹੈ ਕਿ ਤੁਸੀਂ…

29 ਅਪ੍ਰੈਲ 2024

Veeam ਵਿੱਚ ਸੁਰੱਖਿਆ ਤੋਂ ਲੈ ਕੇ ਜਵਾਬ ਅਤੇ ਰਿਕਵਰੀ ਤੱਕ, ਰੈਨਸਮਵੇਅਰ ਲਈ ਸਭ ਤੋਂ ਵੱਧ ਵਿਆਪਕ ਸਮਰਥਨ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ

Veeam ਦੁਆਰਾ Coveware ਸਾਈਬਰ ਜ਼ਬਰਦਸਤੀ ਘਟਨਾ ਪ੍ਰਤੀਕਿਰਿਆ ਸੇਵਾਵਾਂ ਪ੍ਰਦਾਨ ਕਰਨਾ ਜਾਰੀ ਰੱਖੇਗਾ। ਕੋਵਵੇਅਰ ਫੋਰੈਂਸਿਕ ਅਤੇ ਉਪਚਾਰ ਸਮਰੱਥਾਵਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰੇਗਾ...

23 ਅਪ੍ਰੈਲ 2024

ਆਪਣੀ ਭਾਸ਼ਾ ਵਿੱਚ ਇਨੋਵੇਸ਼ਨ ਪੜ੍ਹੋ

ਇਨੋਵੇਸ਼ਨ ਨਿਊਜ਼ਲੈਟਰ
ਨਵੀਨਤਾ ਬਾਰੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਖ਼ਬਰਾਂ ਨੂੰ ਨਾ ਭੁੱਲੋ। ਉਹਨਾਂ ਨੂੰ ਈਮੇਲ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅੱਪ ਕਰੋ।

ਸਾਡੇ ਨਾਲ ਪਾਲਣਾ