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

[9.x] Fix schedule:list crash when call() is given class-string #45306

Merged
merged 2 commits into from Dec 14, 2022
Merged

[9.x] Fix schedule:list crash when call() is given class-string #45306

merged 2 commits into from Dec 14, 2022

Conversation

odinns
Copy link
Contributor

@odinns odinns commented Dec 14, 2022

When creating schedule of the form:

$this->schedule->call(FooCall::class);
$this->schedule->call([FooCall::class, 'fooFunction']);

Then the ScheduleListCommand::getClosureLocation() method would crash with:

TypeError

Cannot use "::class" on value of type string

This PR fixes it by adding checks for string $callback and returning that string instead of adding ::class to it.

Tests for both single string and array callable syntax included.

When creating schedule of the form:

```php
        $this->schedule->call(FooCall::class);
        $this->schedule->call([FooCall::class, 'fooFunction']);
```

Then the `ScheduleListCommand::getClosureLocation()` method would crash with:

```
   TypeError

  Cannot use "::class" on value of type string
```

This PR fixes it by adding checks for string `$callback` and returning that string instead of adding `::class` to it.

Tests for both single string and array callable syntax included.
@odinns
Copy link
Contributor Author

odinns commented Dec 14, 2022

Thank you to @lukeraymonddowning and @olivernybroe for help with the solution! 😊👍

@taylorotwell taylorotwell merged commit 1e00add into laravel:9.x Dec 14, 2022
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.

None yet

3 participants