<?php
// Valid class name.
class ValidCamelCaseClass extends MyClass {}
// Incorrect usage of camel case.
class invalidCamelCaseClass extends MyClass {}
class Invalid_Camel_Case_Class_With_Underscores implements MyClass {}
// All lowercase.
class invalidlowercaseclass extends MyClass {}
class invalid_lowercase_class_with_underscores extends MyClass {}
// All uppercase.
class VALIDUPPERCASECLASS extends MyClass {}
class INVALID_UPPERCASE_CLASS_WITH_UNDERSCORES extends MyClass {}
// Mix camel case with uppercase.
class ValidCamelCaseClassWithUPPERCASE extends MyClass {}
// Usage of numeric characters.
class ValidCamelCaseClassWith1Number extends MyClass {}
class ValidCamelCaseClassWith12345Numbers extends MyClass {}
class 5InvalidCamelCaseClassStartingWithNumber extends MyClass {}
class ValidCamelCaseClassEndingWithNumber5 extends MyClass {}
class 12345 extends MyClass {}
class Testing{}
class Base
{
protected $anonymous;
public function __construct()
{
$this->anonymous = new class extends ArrayObject
{
public function __construct()
{
parent::__construct(['a' => 1, 'b' => 2]);
}
};
}
}
// Valid interface name.
interface ValidCamelCaseClass extends MyClass {}
// Incorrect usage of camel case.
interface invalidCamelCaseClass extends MyClass {}
interface Invalid_Camel_Case_Class_With_Underscores implements MyClass {}
// All lowercase.
interface invalidlowercaseclass extends MyClass {}
interface invalid_lowercase_class_with_underscores extends MyClass {}
// All uppercase.
interface VALIDUPPERCASECLASS extends MyClass {}
interface INVALID_UPPERCASE_CLASS_WITH_UNDERSCORES extends MyClass {}
// Mix camel case with uppercase.
interface ValidCamelCaseClassWithUPPERCASE extends MyClass {}
// Usage of numeric characters.
interface ValidCamelCaseClassWith1Number extends MyClass {}
interface ValidCamelCaseClassWith12345Numbers extends MyClass {}
interface 5InvalidCamelCaseClassStartingWithNumber extends MyClass {}
interface ValidCamelCaseClassEndingWithNumber5 extends MyClass {}
interface 12345 extends MyClass {}
interface Testing{}
interface Base
{
protected $anonymous;
public function __construct();
}
// Valid trait name.
trait ValidCamelCaseClass extends MyClass {}
// Incorrect usage of camel case.
trait invalidCamelCaseClass extends MyClass {}
trait Invalid_Camel_Case_Class_With_Underscores implements MyClass {}
// All lowercase.
trait invalidlowercaseclass extends MyClass {}
trait invalid_lowercase_class_with_underscores extends MyClass {}
// All uppercase.
trait VALIDUPPERCASECLASS extends MyClass {}
trait INVALID_UPPERCASE_CLASS_WITH_UNDERSCORES extends MyClass {}
// Mix camel case with uppercase.
trait ValidCamelCaseClassWithUPPERCASE extends MyClass {}
// Usage of numeric characters.
trait ValidCamelCaseClassWith1Number extends MyClass {}
trait ValidCamelCaseClassWith12345Numbers extends MyClass {}
trait 5InvalidCamelCaseClassStartingWithNumber extends MyClass {}
trait ValidCamelCaseClassEndingWithNumber5 extends MyClass {}
trait 12345 extends MyClass {}
trait Testing{}
trait Base
{
protected $anonymous;
public function __construct()
{
$this->anonymous = new class extends ArrayObject
{
public function __construct()
{
parent::__construct(['a' => 1, 'b' => 2]);
}
};
}
}
// Valid enum name.
enum ValidCamelCaseClass: string {}
// Incorrect usage of camel case.
enum invalidCamelCaseClass {}
enum Invalid_Camel_Case_Class_With_Underscores {}
// All lowercase.
enum invalidlowercaseclass: INT {}
enum invalid_lowercase_class_with_underscores {}
// All uppercase.
enum VALIDUPPERCASECLASS: int {}
enum INVALID_UPPERCASE_CLASS_WITH_UNDERSCORES {}
// Mix camel case with uppercase.
enum ValidCamelCaseClassWithUPPERCASE : string {}
// Usage of numeric characters.
enum ValidCamelCaseClassWith1Number {}
enum ValidCamelCaseClassWith12345Numbers : string {}
enum ValidCamelCaseClassEndingWithNumber5 {}
enum Testing{}
enum Base
{
public function __construct()
{
$this->anonymous = new class extends ArrayObject
{
public function __construct()
{
parent::__construct(['a' => 1, 'b' => 2]);
}
};
}
}
if ( class_exists( Test :: class ) ) {}
if ( class_exists( Test2 ::class ) ) {}
$foo = new class(
new class implements Countable {
}
) extends DateTime {
};