1 | <?php |
||||||
2 | use PHPUnit\Framework\TestCase; |
||||||
3 | use tinymeng\OAuth2\OAuth; |
||||||
0 ignored issues
–
show
|
|||||||
4 | use tinymeng\OAuth2\Exception\OAuthException; |
||||||
0 ignored issues
–
show
This use statement conflicts with another class in this namespace,
OAuthException . Consider defining an alias.
Let?s assume that you have a directory layout like this: .
|-- OtherDir
| |-- Bar.php
| `-- Foo.php
`-- SomeDir
`-- Foo.php
and let?s assume the following content of // Bar.php
namespace OtherDir;
use SomeDir\Foo; // This now conflicts the class OtherDir\Foo
If both files PHP Fatal error: Cannot use SomeDir\Foo as Foo because the name is already in use in OtherDir/Foo.php
However, as // Bar.php
namespace OtherDir;
use SomeDir\Foo as SomeDirFoo; // There is no conflict anymore.
![]() |
|||||||
5 | |||||||
6 | class OAuthTest extends TestCase |
||||||
7 | { |
||||||
8 | public function testInvalidPlatform() |
||||||
9 | { |
||||||
10 | $this->expectException(OAuthException::class); |
||||||
11 | OAuth::invalid([]); |
||||||
0 ignored issues
–
show
The method
invalid() does not exist on tinymeng\OAuth2\OAuth . Since you implemented __callStatic , consider adding a @method annotation.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||||
12 | } |
||||||
13 | |||||||
14 | public function testMissingConfig() |
||||||
15 | { |
||||||
16 | $this->expectException(OAuthException::class); |
||||||
17 | OAuth::wechat([]); |
||||||
18 | } |
||||||
19 | } |
Let?s assume that you have a directory layout like this:
and let?s assume the following content of
Bar.php
:If both files
OtherDir/Foo.php
andSomeDir/Foo.php
are loaded in the same runtime, you will see a PHP error such as the following:PHP Fatal error: Cannot use SomeDir\Foo as Foo because the name is already in use in OtherDir/Foo.php
However, as
OtherDir/Foo.php
does not necessarily have to be loaded and the error is only triggered if it is loaded beforeOtherDir/Bar.php
, this problem might go unnoticed for a while. In order to prevent this error from surfacing, you must import the namespace with a different alias: