148 lines
3.5 KiB
PHP
148 lines
3.5 KiB
PHP
<?php
|
|
|
|
/* testNamespaceDeclaration */
|
|
namespace Package;
|
|
|
|
/* testNamespaceDeclarationWithLevels */
|
|
namespace Vendor\SubLevel\Domain;
|
|
|
|
/* testUseStatement */
|
|
use ClassName;
|
|
|
|
/* testUseStatementWithLevels */
|
|
use Vendor\Level\Domain;
|
|
|
|
/* testFunctionUseStatement */
|
|
use function function_name;
|
|
|
|
/* testFunctionUseStatementWithLevels */
|
|
use function Vendor\Level\function_in_ns;
|
|
|
|
/* testConstantUseStatement */
|
|
use const CONSTANT_NAME;
|
|
|
|
/* testConstantUseStatementWithLevels */
|
|
use const Vendor\Level\OTHER_CONSTANT;
|
|
|
|
/* testMultiUseUnqualified */
|
|
use UnqualifiedClassName,
|
|
/* testMultiUsePartiallyQualified */
|
|
Sublevel\PartiallyClassName;
|
|
|
|
/* testGroupUseStatement */
|
|
use Vendor\Level\{
|
|
AnotherDomain,
|
|
function function_grouped,
|
|
const CONSTANT_GROUPED,
|
|
Sub\YetAnotherDomain,
|
|
function SubLevelA\function_grouped_too,
|
|
const SubLevelB\CONSTANT_GROUPED_TOO,
|
|
};
|
|
|
|
/* testClassName */
|
|
class MyClass
|
|
/* testExtendedFQN */
|
|
extends \Vendor\Level\FQN
|
|
/* testImplementsRelative */
|
|
implements namespace\Name,
|
|
/* testImplementsFQN */
|
|
\Fully\Qualified,
|
|
/* testImplementsUnqualified */
|
|
Unqualified,
|
|
/* testImplementsPartiallyQualified */
|
|
Sub\Level\Name
|
|
{
|
|
/* testFunctionName */
|
|
public function function_name(
|
|
/* testTypeDeclarationRelative */
|
|
?namespace\Name|object $paramA,
|
|
|
|
/* testTypeDeclarationFQN */
|
|
\Fully\Qualified\Name $paramB,
|
|
|
|
/* testTypeDeclarationUnqualified */
|
|
Unqualified|false $paramC,
|
|
|
|
/* testTypeDeclarationPartiallyQualified */
|
|
?Sublevel\Name $paramD,
|
|
|
|
/* testReturnTypeFQN */
|
|
) : ?\Name {
|
|
|
|
try {
|
|
/* testFunctionCallRelative */
|
|
echo NameSpace\function_name();
|
|
|
|
/* testFunctionCallFQN */
|
|
echo \Vendor\Package\function_name();
|
|
|
|
/* testFunctionCallUnqualified */
|
|
echo function_name();
|
|
|
|
/* testFunctionPartiallyQualified */
|
|
echo Level\function_name();
|
|
|
|
/* testCatchRelative */
|
|
} catch (namespace\SubLevel\Exception $e) {
|
|
|
|
/* testCatchFQN */
|
|
} catch (\Exception $e) {
|
|
|
|
/* testCatchUnqualified */
|
|
} catch (Exception $e) {
|
|
|
|
/* testCatchPartiallyQualified */
|
|
} catch (Level\Exception $e) {
|
|
}
|
|
|
|
/* testNewRelative */
|
|
$obj = new namespace\ClassName();
|
|
|
|
/* testNewFQN */
|
|
$obj = new \Vendor\ClassName();
|
|
|
|
/* testNewUnqualified */
|
|
$obj = new ClassName;
|
|
|
|
/* testNewPartiallyQualified */
|
|
$obj = new Level\ClassName;
|
|
|
|
/* testDoubleColonRelative */
|
|
$value = namespace\ClassName::property;
|
|
|
|
/* testDoubleColonFQN */
|
|
$value = \ClassName::static_function();
|
|
|
|
/* testDoubleColonUnqualified */
|
|
$value = ClassName::CONSTANT_NAME;
|
|
|
|
/* testDoubleColonPartiallyQualified */
|
|
$value = Level\ClassName::CONSTANT_NAME['key'];
|
|
|
|
/* testInstanceOfRelative */
|
|
$is = $obj instanceof namespace\ClassName;
|
|
|
|
/* testInstanceOfFQN */
|
|
if ($obj instanceof \Full\ClassName) {}
|
|
|
|
/* testInstanceOfUnqualified */
|
|
if ($a === $b && $obj instanceof ClassName && true) {}
|
|
|
|
/* testInstanceOfPartiallyQualified */
|
|
$is = $obj instanceof Partially\ClassName;
|
|
}
|
|
}
|
|
|
|
/* testInvalidInPHP8Whitespace */
|
|
namespace \ Sublevel
|
|
\ function_name();
|
|
|
|
/* testInvalidInPHP8Comments */
|
|
$value = \Fully
|
|
// phpcs:ignore Stnd.Cat.Sniff -- for reasons
|
|
\Qualified
|
|
/* comment */
|
|
\Name
|
|
// comment
|
|
:: function_name();
|