Kernel.php v Laravel 12: Kde je?

Výměna souborů jádra v Laravelu 11 a novějších verzích V systému Laravel 11 a novějších verzích je tradiční App\Http\Kernel a App\Console\Kernel třídy byly odstraněny. Místo toho...

Světlý režim slouží jen pro ukázku funkcionality. Proto používejte tmavou verzi webu.

17. 10. 2025

Kernel.php v Laravel 12: Kde je?

Výměna souborů jádra v Laravelu 11 a novějších verzích

V systému Laravel 11 a novějších verzích je tradiční App\Http\Kernel a App\Console\Kernel třídy byly odstraněny. Místo toho byly jejich povinnosti přesunuty do bootstrap/app.php pomocí nového, zjednodušeného a centralizovaného přístupu ke konfiguraci.

V tomto příspěvku se dozvíte, jak migrovat logiku plánování middlewaru a konzoly ze starých tříd jádra do nové struktury Laravel 11 a novějších.

Změny jádra HTTP: Konfigurace middlewaru

Dříve se nastavení middlewaru provádělo v nástroji App\Http\Kernel. Museli jste spravovat tři hlavní pole:

  • $middleware: globální middleware
  • $middlewareGroups: middleware skupiny pro web, api, atd.
  • $middlewareAliases: aliasy middlewaru trasy

V Laravelu 11 se nyní všechny tyto funkce ukládají do uzávěru uvnitř. bootstrap/app.php, s použitím withMiddleware() metoda:

->withMiddleware(function (Middleware $middleware) {
// Global middleware
$middleware->append(EnsureTokenIsValid::class);
 
// Middleware groups
$middleware->appendToGroup('group-name', [
First::class,
Second::class,
]);
 
$middleware->prependToGroup('group-name', [
First::class,
Second::class,
]);
 
// Middleware aliases
$middleware->alias([
'subscribed' => EnsureUserIsSubscribed::class
]);
})

Změny v jádře konzole: Plánování a příkazy

Před Laravelem 11 bylo plánování příkazů definováno v příkazu App\Console\Kernel třídy, zejména v schedule() a commands() metody.

Nyní jsou naplánované úlohy i příkazové trasy definovány v položce routes/console.php, jako je tento:

use Illuminate\Console\Scheduling\Schedule;
 
Schedule::command('inspire')->hourly();

Tyto příkazy není třeba explicitně registrovat v příkazu. Kernel protože Laravel je automaticky načte z třídy routes/console.php pokud tento soubor zahrnete pomocí příkazu withRouting() in bootstrap/app.php:

->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)

Ve výchozím nastavení Laravel automaticky registruje všechny příkazy do složky app/Console/Commands. Chcete-li zaregistrovat příkazy z jiných adresářů nebo zadat příkazy ručně, použijte příkaz withCommands metoda v bootstrap/app.php:

->withCommands([
__DIR__.'/../app/Domain/Orders/Commands', // Scan directory
\App\Domain\Orders\Commands\SendEmails::class, // Or register specific classes
])

Při spuštění systému Artisan se tyto příkazy automaticky vyřeší a zaregistrují.

Závěrečná stránka bootstrap/app.php Příklad

Zde se dozvíte, jak kompletní bootstrap/app.php soubor může vypadat v Laravelu 11 a novějším:

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
 
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
// Configure middleware here (see full example above)
})
->withCommands([
// __DIR__.'/../app/Domain/Orders/Commands',
// \App\Console\Commands\Inspire::class,
])
->withExceptions(function (Exceptions $exceptions) {
// Handle exceptions here
})
->create();

kernel.php: Před vs. po

Před (Laravel 10 a starší)

// app/Http/Kernel.php
class Kernel extends HttpKernel
{
protected $middleware = [
\App\Http\Middleware\EnsureTokenIsValid::class,
];
 
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
],
];
 
protected $middlewareAliases = [
'subscribed' => \App\Http\Middleware\EnsureUserIsSubscribed::class,
];
}
 
// app/Console/Kernel.php
class Kernel extends ConsoleKernel
{
protected function schedule(Schedule $schedule): void
{
$schedule->command('inspire')->hourly();
}
 
protected function commands(): void
{
$this->load(__DIR__.'/Commands');
}
}

Po (Laravel 11 a 12)

// bootstrap/app.php
use Illuminate\Foundation\Configuration\Middleware;
use Illuminate\Support\Facades\Schedule;
 
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->append(\App\Http\Middleware\EnsureTokenIsValid::class);
 
$middleware->alias([
'subscribed' => \App\Http\Middleware\EnsureUserIsSubscribed::class,
]);
})
->withCommands([
__DIR__.'/../app/Console/Commands',
])
->create();
 
// routes/console.php
Schedule::command('inspire')->hourly();

Závěr

Laravel 11 zjednodušil zavádění aplikací tím, že konsolidoval logiku jádra do. bootstrap/app.php. Tento moderní přístup snižuje počet šablon a udržuje konfiguraci centralizovanou, čímž je vaše aplikace lépe udržovatelná a přehlednější.

Původní článek publikoval Nabil Hassen.

Mohlo by vám pomoct

Praktické věci kolem webu

Než se pustíte do webu, hodí se mít jasno v podkladech, WordPressu, cookies a měření.

Google reference

Co říkají klienti

Ukázky skutečných recenzí, které klienti zanechali na mém Google profilu.

Přejít na recenze
★ ★ ★ ★ ★

„Člověk, který své práci a rozumí a ví co dělá. Velmi rychlá komunikace a profesionální přístup. Doporučuji.“

Jaroslav Kupča
Google
★ ★ ★ ★ ★

„Skvělá spolupráce, při dalších projektech určitě nebudu shánět někoho jiného.“

Roman Koňařík
Google
★ ★ ★ ★ ★

„S panem Vančurou jsem spolupracovala na tvorbě mých webových stránek a jsem maximálně spokojená. Oceňuji profesionální přístup, rychlou komunikaci a schopnost přesně pochopit moje představy. Web je moderní, přehledný, funkční a skvěle vypadá i na mobilu. Celý proces proběhl hladce, s jasným vysvětlením jednotlivých kroků a výborným výsledkem. Určitě doporučuji každému, kdo hledá spolehlivý a kvalitní přístup.“

Barbora Zemánková
Google
★ ★ ★ ★ ★

„Spolupráce při tvorbě konfigurátoru proběhla naprosto bez problémů. Oceňuji profesionální přístup, rychlou komunikaci a schopnost pochopit specifický projekt od A do Z. Konfigurátor je přehledný, funkční a přesně odpovídá mým požadavkům. Rozhodně doporučuji.“

mareksevcik_FPV
Google
★ ★ ★ ★ ★

„Velmi dobrá a rychlá spolupráce. Doporučuji!“

Leoš Kaucký
Google
★ ★ ★ ★ ★

„Přesně takto si představujeme profesionální práci. Dekujeme“

STAVILLI
Google
★ ★ ★ ★ ★

„Ať už se jedná o optimalizaci webu, nebo tvorbu na míru oceňuji kromě profesionální práce a znalostí problematiky také férový přístup a komunikaci.“

Aleš Illický
Google
★ ★ ★ ★ ★

„Děkuji za profesionální spolupráci, vše dle domluvy, naprostá spokojenost a mohu jen vřele doporučit.... Při dalších projektech určitě opět využiji Vašich služeb“

Peter Spilak
Google
★ ★ ★ ★ ★

„Profesionalita a velká ochota, nemohu jinak než doporučit“

Magdalena Vašková
Google
★ ★ ★ ★ ★

„Skvělá zkušenost při tvorbě webu, profesionální přístup, rychlost, ochota pomoci“

Jana Kono
Google
★ ★ ★ ★ ★

„Rychlá spolupráce a komunikace – mohu jen doporučit.“

Gawix
Google
★ ★ ★ ★ ★

„Moc mi pomohl, když jsem potřebovala pomoc s webem. A bylo to gratis :)). Jsem mu neskonale vděčná.“

Radka Arbesová
Google
★ ★ ★ ★ ★

„Děkuji Jiřímu za rychlou a kvalitní spolupráci na tvorbě webu. Srozumitelná a ochotná komunikace mě vždycky potěší a přináší důvěru.“

Jiří Mařík
Google
★ ★ ★ ★ ★

„Jsem maximálně spokojená. Rychlost, ochota a cenově dostupné. Děkuji“

Veronika Černá
Google
★ ★ ★ ★ ★

„Naprostá spokojenost. Rychlá komunikace, skvělá cena a odborná pomoc. Moc děkuji :)“

Patricie Kučerová
Google
★ ★ ★ ★ ★

„Velká spokojenost, rychlost a p. Vančura moc dobře ví co dělá. :)“

Ondřej Daniško
Google
★ ★ ★ ★ ★

„dobrá práce, rychlá odezva“

Zuzana Jírová
Google
★ ★ ★ ★ ★

„S programátory mám zkušeností hodně, ale tady musím opravdu pochválit. Pro mě a mé přátele vytvořil skvělý nástroj na evidenci sbírek a opravdu se to povedlo. Bylo to hotové rychle, kvalitně a za skvělou cenu. Komunikace funguje velmi rychle, což je super a ne úplně standard. Díky za super práci, za mě 100% spokojenost!“

Zdeněk
Google
★ ★ ★ ★ ★

„Vše bylo rychlé a hlavně to funguje. Dobrá práce.“

Lukáš Bartášek
Google
★ ★ ★ ★ ★

„Normálně recenze nepíši, ale zde rád doporučím kvalitní práci. Jiří pro mě vytvořil web pro dětské tábory. Kvalitní práce, rychlá komunikace a vlastní nápady, které Jiří sám přidá, jsou na velice vysoké úrovni. Nemohu hodnotit jinak než 5/5.“

Tomáš Loněk
Google
★ ★ ★ ★ ★

„Pan Jiri nam delal jiz 3 webove stranky a vzdy velka spokojenost, je mega rychly a vse hned kladne vyridi, mohu pouze doporucit. Poradi si bez problemu i s rezervacnimi kalendaremi, udrzbou socialnich siti, atd.“

Barbara Mašková
Google