Skip to content

Conversation

@ProDeSquare
Copy link
Owner

This pull request includes changes and recommendations for crafting your application "The Laravel Way". Feel free to commit any additional changes to the shift-56743 branch.

Before merging, you need to:

  • Checkout the shift-56743 branch
  • Review all pull request comments for additional changes
  • Thoroughly test your application

If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

@ProDeSquare
Copy link
Owner Author

ProDeSquare commented Feb 21, 2022

⚠️ The following classes do not extend the standard Laravel Model and Controller class. This may add complexity which makes your application harder to upgrade. Often a trait can be used instead of inheritance. You should review the following classes:

  • app/Models/Membership.php
  • app/Models/Team.php
  • app/Models/TeamInvitation.php

@ProDeSquare
Copy link
Owner Author

⚠️ The following controllers contain actions outside of the 7 resource actions (index, create, store, show, edit, update, destroy). For more details, review the docs or watch Cruddy by Design to see if you can rework these into resource controllers.

  • app/Http/Controllers/CollectionsController.php
  • app/Http/Controllers/HomeController.php
  • app/Http/Controllers/SavedLinksController.php
  • app/Http/Controllers/ShortsController.php

@ProDeSquare
Copy link
Owner Author

⚠️ Shift found inline validation in the following controllers. Unless you require this level of control, you should use a Form Request to encapsulate this validation logic and keep your controller clean. You may automate this conversion with the Laravel Fixer.

  • app/Http/Controllers/CollectionsController.php
  • app/Http/Controllers/SavedLinksController.php
  • app/Http/Controllers/ShortsController.php

@ProDeSquare
Copy link
Owner Author

⚠️ Shift detected the following HTTP components accessing the authenticated user through Auth::user(). Within these components, you can access the authenticated user through the request object as well. Doing so limits your dependencies by leveraging objects already available.

  • app/Http/Controllers/CollectionsController.php
  • app/Http/Controllers/HomeController.php
  • app/Http/Controllers/SavedLinksController.php
  • app/Http/Controllers/ShortsController.php

@ProDeSquare
Copy link
Owner Author

⚠️ Laravel contains many built-in helpers functions which allow you to write more expressive code or leverage core functionality from anywhere in your app.

Shift found the following code which could use a helper instead:

  • Redirect::to()

@ProDeSquare
Copy link
Owner Author

ℹ️ Shift detected controller namespaces being set in your RouteServiceProvider. Laravel 8 began registering controllers using static class references instead of namespace prefixes and controller names.

You may automate this conversion using the Laravel Fixer or tasks within the Shift Workbench.

@ProDeSquare
Copy link
Owner Author

⚠️ Shift found the following config files differ from the defaults. While you are welcome to customize your configuration, you should leverage ENV variables rather than hardcode values. If you find you're adding a lot of configuration options, consider creating a domain specific config file, such as core.php. Both will make app upgrades and deployments easier.

  • config/app.php
  • config/hashing.php
  • config/session.php

@ProDeSquare
Copy link
Owner Author

ℹ️ As noted, much of the lint detected above can be automatically fixed using the Laravel Fixer. Save yourself time and clean up your codebase quickly with this new Shift.

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