Apakah perbezaan antara Laravel 5.3 dan penghalaan yang ditulis dalam api.php dan web.php?
PHP中文网
PHP中文网 2017-05-16 16:50:28
0
2
458

Apakah perbezaan dalam pemprosesan penghalaan yang ditulis dalam api.php dan web.php dalam Laravel 5.3?

Saya ingin tahu, jika anda menggunakan pemaparan templat untuk membuat halaman web, dan permintaan ajax juga digunakan, adakah lebih baik untuk meletakkan penghalaan permintaan ajax ini dalam api.php atau web.php?

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(2)
Ty80

Menurut penerangan anda, ia sepatutnya diletakkan di web.php.

Oleh kerana anda hanyalah projek web biasa, penghalaan dalam web.php menggunakan kumpulan middleware web.

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

Jika anda meletakkan penghalaan ajax dalam api.php tanpa perlindungan csrf, ia adalah mudah untuk menyebabkan kelemahan program, kecuali untuk permintaan sumber awam.

api.php digunakan dengan pasport Laravel untuk menyediakan perkhidmatan API.

巴扎黑

Pada asasnya sama.

Letak di mana sahaja yang anda rasa.

Saya rasa lebih baik untuk meletakkannya di web.php Kerana daripada penerangan anda, ia tidak kelihatan seperti API.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan