We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
I'm confused about this exception and have no idea how to resolve it. After doing some testing, I can't figure out what the problem is.
my test-case:
<?php namespace Tests\Feature; use Tests\TestCase; use Spectator\Spectator; class RootTest extends TestCase { /** * A basic test example. * * @return void */ public function testGetRootPath() { Spectator::using('test.yaml'); $response = $this->get('/'); $response->assertStatus(301); } }
my /routes/api.php:
// root move to First API Route::get('/', function () { return redirect()->route('test.index', [], Response::HTTP_MOVED_PERMANENTLY); })->name('root');
my test.yaml
openapi: 3.0.0 info: version: 1.0.0 title: TestAPI paths: "/": "get": summary: "Root Path" tags: - root responses: "301": description: "Moved permanently to Index"
Full Stack Exception:
Fatal error: During inheritance of ArrayAccess: Uncaught ErrorException: Return type of cebe\openapi\spec\Paths::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/php/vendor/cebe/php-openapi/src/spec/Paths.php:181 Stack trace: #0 /var/www/php/vendor/cebe/php-openapi/src/spec/Paths.php(31): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8192, 'Return type of ...', '/var/www/php/ve...', 181) #1 /var/www/php/vendor/composer/ClassLoader.php(571): include('/var/www/php/ve...') #2 /var/www/php/vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile('/var/www/php/ve...') #3 /var/www/php/vendor/cebe/php-openapi/src/SpecBaseObject.php(170): Composer\Autoload\ClassLoader->loadClass('cebe\\openapi\\sp...') #4 /var/www/php/vendor/cebe/php-openapi/src/SpecBaseObject.php(134): cebe\openapi\SpecBaseObject->instantiate('cebe\\openapi\\sp...', Array) #5 /var/www/php/vendor/cebe/php-openapi/src/Reader.php(56): cebe\openapi\SpecBaseObject->__construct(Array) #6 /var/www/php/vendor/cebe/php-openapi/src/Reader.php(135): cebe\openapi\Reader::readFromYaml('openapi: 3.0.0\r...', 'cebe\\openapi\\sp...') #7 /var/www/php/vendor/hotmeteor/spectator/src/RequestFactory.php(92): cebe\openapi\Reader::readFromYamlFile('/var/www/php/st...') #8 /var/www/php/vendor/hotmeteor/spectator/src/Middleware.php(139): Spectator\RequestFactory->resolve() #9 /var/www/php/vendor/hotmeteor/spectator/src/Middleware.php(108): Spectator\Middleware->pathItem('/', 'GET') #10 /var/www/php/vendor/hotmeteor/spectator/src/Middleware.php(59): Spectator\Middleware->validate(Object(Illuminate\Http\Request), Object(Closure)) #11 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Spectator\Middleware->handle(Object(Illuminate\Http\Request), Object(Closure)) #12 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #13 /var/www/php/vendor/laravel/framework/src/Illuminate/Routing/Router.php(697): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #14 /var/www/php/vendor/laravel/framework/src/Illuminate/Routing/Router.php(672): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request)) #15 /var/www/php/vendor/laravel/framework/src/Illuminate/Routing/Router.php(636): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route)) #16 /var/www/php/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request)) #17 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request)) #18 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request)) #19 /var/www/php/app/Http/Middleware/TrailingSlash.php(28): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #20 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\Http\Middleware\TrailingSlash->handle(Object(Illuminate\Http\Request), Object(Closure)) #21 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #22 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure)) #23 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure)) #24 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #25 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure)) #26 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure)) #27 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #28 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure)) #29 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #30 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure)) #31 /var/www/php/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #32 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure)) #33 /var/www/php/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #34 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure)) #35 /var/www/php/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #36 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #37 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request)) #38 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(510): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request)) #39 /var/www/php/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(294): Illuminate\Foundation\Testing\TestCase->call('GET', '/', Array, Array, Array, Array) #40 /var/www/php/tests/Feature/RootTest.php(17): Illuminate\Foundation\Testing\TestCase->get('/') #41 /var/www/php/vendor/phpunit/phpunit/src/Framework/TestCase.php(1527): Tests\Feature\RootTest->testGetRootPath() #42 /var/www/php/vendor/phpunit/phpunit/src/Framework/TestCase.php(1133): PHPUnit\Framework\TestCase->runTest() #43 /var/www/php/vendor/phpunit/phpunit/src/Framework/TestResult.php(722): PHPUnit\Framework\TestCase->runBare() #44 /var/www/php/vendor/phpunit/phpunit/src/Framework/TestCase.php(885): PHPUnit\Framework\TestResult->run(Object(Tests\Feature\RootTest)) #45 /var/www/php/vendor/phpunit/phpunit/src/Framework/TestSuite.php(678): PHPUnit\Framework\TestCase->run(Object(PHPUnit\Framework\TestResult)) #46 /var/www/php/vendor/phpunit/phpunit/src/Framework/TestSuite.php(678): PHPUnit\Framework\TestSuite->run(Object(PHPUnit\Framework\TestResult)) #47 /var/www/php/vendor/phpunit/phpunit/src/Framework/TestSuite.php(678): PHPUnit\Framework\TestSuite->run(Object(PHPUnit\Framework\TestResult)) #48 /var/www/php/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(670): PHPUnit\Framework\TestSuite->run(Object(PHPUnit\Framework\TestResult)) #49 /var/www/php/vendor/phpunit/phpunit/src/TextUI/Command.php(143): PHPUnit\TextUI\TestRunner->run(Object(PHPUnit\Framework\TestSuite), Array, Array, true) #50 /var/www/php/vendor/phpunit/phpunit/src/TextUI/Command.php(96): PHPUnit\TextUI\Command->run(Array, true) #51 /var/www/php/vendor/phpunit/phpunit/phpunit(92): PHPUnit\TextUI\Command::main() #52 {main} in /var/www/php/vendor/cebe/php-openapi/src/spec/Paths.php on line 31
if i execute this small php-code i get same exception:
namespace App\Http\Controllers; use cebe\openapi\spec\Paths; use App\Http\Controllers\Controller; class TestController extends Controller { public function test() { $input = ['/' => [ 'get' => [ 'summary' => 'Root Path', 'tags' => [ 0 => 'root' ], 'responses' => [ 301 => [ 'description' => 'Moved permanently to Index' ] ] ] ]]; $test = new Paths($input); var_dump($test); } }
any ideas? maybe my test.yaml schema has a bug or is malformed?
The text was updated successfully, but these errors were encountered:
ok, sorry, nvm, i found the bug, it's my php 8.1, it's not safe for phpunit: cebe/php-openapi#123
Sorry, something went wrong.
@b166er Thanks, I'll see if I can get it to be PHP 8.1 compatible.
No branches or pull requests
I'm confused about this exception and have no idea how to resolve it. After doing some testing, I can't figure out what the problem is.
my test-case:
my /routes/api.php:
my test.yaml
Full Stack Exception:
if i execute this small php-code i get same exception:
any ideas? maybe my test.yaml schema has a bug or is malformed?
The text was updated successfully, but these errors were encountered: