Skip to content

Required parameter $type follows optional parameter $data in SendStatement #405

@javorszky

Description

@javorszky
  • Laravel Version: 8.20.1
  • PHP Version: 8.0.0
  • Blueprint Version: 1.20.0
  • Platform: Mac

Issue:

Running php artisan blueprint:build on the following draft file produces the following error:

$ php artisan blueprint:build

   ErrorException

  Required parameter $type follows optional parameter $data

  at vendor/laravel-shift/blueprint/src/Models/Statements/SendStatement.php:32
     28▕      * @var string
     29▕      */
     30▕     private $type;
     31▕
  ➜  32▕     public function __construct(string $mail, string $to = null, array $data = [], string $type)
     33▕     {
     34▕         $this->mail = $mail;
     35▕         $this->data = $data;
     36▕         $this->to = $to;

      +22 vendor frames
  23  artisan:37
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

The application is a brand new laravel 8 with jetstream teams with livewire option, zero customization so far besides setting up the .env file.

I think it's related to https://php.watch/versions/8.0/deprecate-required-param-after-optional and Laravel (the framework) elevates the deprecated warning to an errorexception.

draft.yaml:

models:
  Invitation:
    token: string:64
    email: string
    team_id: id
    user_id: id

controllers:
  Invitation:
    show:
      render: invitation.show
    destroy:
      delete: invitation
    store:
      save: invitation
      validate: invitation
      send: InvitationMail to:invitation.email
    index:
      query: where:team_id
      render: invitation.index

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions