Некоторые веб-посты намекают на то, что нужно начать с нового проекта laravel, а затем скопировать свой собственный код, но мне это не нравится, главным образом потому, что таким образом вы потеряете свою историю git. Итак, вот шаги, которые я предпринял, начиная с существующей базы кода lumen:
- в композиторе.json замените зависимость lumen на:
Код: Выделить всё
"laravel/framework": "^12.0",
"laravel/tinker": "^2.10.1",
- в композиторе.json добавьте эти зависимости от разработчиков:
Код: Выделить всё
"laravel/pail": "^1.2.2",
"laravel/pint": "^1.24",
"laravel/sail": "^1.41",
"nunomaduro/collision": "^8.6",
- в композиторе.json обновите phpunit до ^11.5.3:
- запустите обновление композитора
- создайте папку bootstrap/cache и сделайте ее доступной для записи для вашего веб-сервера
- загрузите простую стандартную копию laravel-12 и скопируйте из него эти файлы в свой проект:
- artisan
- bootstrap/providers.php
- config/*
- public/index.php
- routes/console.php
- скопируйте своих провайдеров из вашего bootstrap/app.php в bootstrap/providers.php
- сделайте копию своего bootstrap/app.php, а затем скопируйте app.php laravel-12 в свой bootstrap-folder
- теперь скопируйте/перенесите промежуточное программное обеспечение из старого app.php в новый
- убедитесь, что никакой другой пользовательский код в app.php не подлежит переносу
- laravel использует механизм сеансов, которого нет в lumen. Если вы хотите отключить это, добавьте это в раздел промежуточного программного обеспечения в app.php:
Код: Выделить всё
$middleware->web(remove: [
StartSession::class,
ShareErrorsFromSession::class,
VerifyCsrfToken::class
]);
- Исправьте код маршрутов. Синтаксис изменился. Используйте ф.и. Маршрут::get(). Или Auth::guard($guard)->user()
- Исправьте импорт в своем репозитории. Многие псевдонимы и классы платформы были перемещены или переименованы.
- тест!
Подробнее здесь: https://stackoverflow.com/questions/797 ... lavarel-12
Мобильная версия