Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithCachedRoutes.php
Строк: 45
<?php

namespace IlluminateFoundationTesting;

use 
IlluminateFoundationApplication;
use 
IlluminateFoundationSupportProvidersRouteServiceProvider;

trait 
WithCachedRoutes
{
    
/**
     * After creating the routes once, we can cache them for the remaining tests.
     *
     * @return void
     */
    
protected function setUpWithCachedRoutes(): void
    
{
        if ((
CachedState::$cachedRoutes ?? null) === null) {
            
$routes $this->app['router']->getRoutes();

            
$routes->refreshNameLookups();
            
$routes->refreshActionLookups();

            
CachedState::$cachedRoutes $routes->compile();
        }

        
$this->markRoutesCached($this->app);
    }

    
/**
     * Reset the route service provider so it's not defaulting to loading cached routes.
     *
     * This is helpful if some of the tests in the suite apply this trait while others do not.
     *
     * @return void
     */
    
protected function tearDownWithCachedRoutes(): void
    
{
        
RouteServiceProvider::loadCachedRoutesUsing(null);
    }

    
/**
     * Inform the container to treat routes as cached.
     */
    
protected function markRoutesCached(Application $app): void
    
{
        
$app->instance('routes.cached'true);

        
RouteServiceProvider::loadCachedRoutesUsing(
            static 
fn () => app('router')->setCompiledRoutes(CachedState::$cachedRoutes)
        );
    }
}
Онлайн: 1
Реклама