Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Laravel 9.x Shift #264

Merged
merged 25 commits into from
Feb 19, 2024
Merged

Laravel 9.x Shift #264

merged 25 commits into from
Feb 19, 2024

Conversation

pandigresik
Copy link
Contributor

@pandigresik pandigresik commented Feb 13, 2024

Upgrade ke laravel 9, perbaikan issue #256

  • Hapus folder vendor dan file composer.lock
  • Lakukan perintah composer install
Screencast.from.16-02-24.10.46.09.webm

Test api untuk tracking opensid dan opendk

Screencast.from.16-02-24.10.50.53.webm

laravel-shift and others added 18 commits February 12, 2024 23:17
Since PHP 5.4 the short array syntax `[]` may be used instead of `array()`.
PHP 5.5.9 adds the new static `class` property which provides the fully qualified class name. This is preferred over using strings for class names since the `class` property references are checked by PHP.
Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods.
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them and merged your true customizations -
where ENV variables may not be used.
`<env>` tags have a lower precedence than system environment variables making it easier to overwrite PHPUnit configuration values in additional environments, such a CI.

Review this blog post for more details on configuration precedence when testing Laravel: https://jasonmccreary.me/articles/laravel-testing-configuration-precedence/
@pandigresik
Copy link
Contributor Author

This pull request includes the changes for upgrading to Laravel 9.x. Feel free to commit any additional changes to the shift-109731 branch.

Before merging, you need to:

Checkout the shift-109731 branch
Review all pull request comments for additional changes
Run composer update (if the scripts fail, add --no-scripts)
Clear any config, route, or view cache
Thoroughly test your application (no tests?, no CI?)
If you need help with your upgrade, check out the Human Shifts.

laravel-shift added 17 commits 8 minutes ago
@laravel-shift
Adopt short array syntax
ec31812
@laravel-shift
Convert string references to ::class
961a5a7
@laravel-shift
Move resources/lang folder
d306472
@laravel-shift
Shift registered middleware
0441e03
@laravel-shift
Remove fruitcake/laravel-cors dependency
946baa3
@laravel-shift
Upgrade to Flysystem 3.0
d25de49
@laravel-shift
Shift core files
513e13a
@laravel-shift
Convert optional() to nullsafe operator
56ab3f8
@laravel-shift
Convert route options to fluent methods
07fd409
@laravel-shift
Adopt class based routes
b2febf1
@laravel-shift
Shift config files
3b6c68d
@laravel-shift
Default config files
2a6abc8
@laravel-shift
Bump Composer dependencies
89fcc3d
@laravel-shift
Use tags for configuration
7394810
@laravel-shift
Adopt anonymous migrations
2272819
@laravel-shift
Add migration for Sanctum 3.0
3f2115c
@laravel-shift
Shift cleanup
338994d

roaddee commented 7 minutes ago
ℹ️ Laravel 9 moved the resources/lang folder to the top level of the project. While Shift moved and replaced references to this folder, you may have additional references to this folder which need to be updated.

roaddee commented 7 minutes ago
⚠️ Laravel 9 upgraded to Flysystem 3.0 causing the behavior of the Storage facade to change slightly:

Write operations (such as put and write) now overwrite existing files by default and return false instead of throwing an exception.
Read operations (such as get and download) now return null instead of a FileNotFoundException when a file is missing.
The delete operation now returns true even if the file did not exist.
For more details, you may review the Flysystem 3.x section of the Upgrade Guide.

roaddee commented 7 minutes ago
⚠️ Laravel 9 transitioned from SwiftMailer to Symfony Mailer. While this transition should be relatively seamless and Shift automates any tedious changes, some changes may not reliably be automated.

Dependencies
Some mail providers may require an additional dependency. For example, if you are using Mailgun, then you will need to install the symfony/mailgun-mailer package:

composer require symfony/mailgun-mailer symfony/http-client
For more details on what has changed you may review the Symfony Mailer section of the Upgrade Guide.

roaddee commented 7 minutes ago
⚠️ The public/web.config file has been removed from new Laravel projects. The presence of this file creates a potential security risk for projects not using Microsoft IIS as their web server.

Shift detected this file was modified and did not remove it. Unless you are using Microsoft IIS as your web server, you should remove this file.

roaddee commented 7 minutes ago
⚠️ The FILESYSTEM_DRIVER environment variable was renamed to FILESYSTEM_DISK in Laravel 9. Shift attempted to automate this change, but you should review any additional environment configuration and rename this variable.

roaddee commented 7 minutes ago
⚠️ Shift upgraded your configuration files by defaulting them and merging your true customizations. These include values which are not changeable through core ENV variables.

You should review this commit for additional customizations or opportunities to use new ENV variables. If you have a lot of customizations, you may undo this commit with git revert 2a6abc8 and make the config file changes manually.

roaddee commented 7 minutes ago
ℹ️ The FILESYSTEM_CLOUD environment variable was removed in a later release of Laravel 8. While you may still use the cloud disk, you are encouraged to configure your own disks.

roaddee commented 7 minutes ago
⚠️ The token driver for API authentication is no longer available. This driver was not very robust and was removed from the documentation. Laravel now recommends using Sanctum.

If you were using the token driver, you may re-add it within your auth.php configuration file then migrate to Sanctum at your convenience.

roaddee commented 7 minutes ago
ℹ️ Shift updated your dependencies for Laravel 9. While many of the popular packages are reviewed, you may have to update additional packages in order for your application to be compatible with Laravel 9. Watch dealing with dependencies for tips on handling any Composer issues.

The following dependencies were updated by a major version and may have their own changes. You may check their changelog for any additional upgrade steps.

spatie/laravel-backup

roaddee commented 7 minutes ago
ℹ️ Laravel 9 adopted anonymous migrations. Shift automated this change to align with modern Laravel conventions and avoid naming migrations.

roaddee commented 7 minutes ago
ℹ️ Sanctum 3.x added an expires_at column to support expiring tokens. Shift detected you have a migration for this table and created a migration for this new column. Be sure to run php artisan migrate to complete your upgrade.

roaddee commented 7 minutes ago
ℹ️ All of the underlying Symfony components used by Laravel have been upgraded to Symfony 6. If you are directly interacting with any Symfony component, you should review the Symfony change log for additional changes.

roaddee commented 7 minutes ago
ℹ️ The HTTP client has been updated to have a default timeout of 30 seconds. Previously there was no default. The underlying request would wait indefinitely. Now an exception is thrown after 30 seconds.

If you find your requests need longer, you may prefix your request to specify a timeout:

Http::timeout(60)->get("https://laravelshift.com");

roaddee commented 7 minutes ago
ℹ️ Laravel 9 now uses Vite to build frontend assets. While you may continue to use Laravel Mix, it is no longer the default. If you wish to modernize your application to use Vite, you may run the Vite Converter for free.

roaddee commented 7 minutes ago
⚠️ Shift detected you are using a Laravel package like Horizon or Nova which may need to have its published assets regenerated after upgrading. Be sure to use artisan to republish these assets as well as php artisan view:clear to avoid any errors.

roaddee commented 7 minutes ago
⚠️ Laravel 9.x has reached end of life. It no longer receives bug fixes or security updates. Shift recommends continuing to upgrade to the latest version (Laravel 10.x).

@pandigresik pandigresik requested review from andifahruddinakas and vickyrolanda and removed request for andifahruddinakas February 16, 2024 03:52
@vickyrolanda
Copy link
Contributor

mas @pandigresik saya sudah ikut intruksi :

  1. hapus folder vendor dan composer.lock

  2. lalu jalankan composer install
    image

  3. Lalu jalankan php artisan serve muncul error begini mas
    image

  4. log errornya seperti ini :
    laravel-2024-02-18.log

@vickyrolanda vickyrolanda merged commit 7bcb7a6 into dev Feb 19, 2024
@vickyrolanda vickyrolanda deleted the shift-109731 branch February 19, 2024 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants