php-platform / annotations
Installs: 2 034
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/php-platform/annotations
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is not auto-updated.
Last update: 2025-10-26 01:27:54 UTC
README
This package provides APIs to access annotations in PHP
Usage
Getting the Annotations
PhpPlatform\Annotations\Annotation::getAnnotations($className, $propertyName="*", $constantName="*", $methodName="*");
where
$classNameis complete name of the class for which annotations are needed$propertyNameis a string of a property or array of properties for which annotations are needed$constantNameis a string of a constant or array of constants for which annotations are needed$methodNameis a string of a method name or array of method names for which annotations are needed
Declaring Annotations
This library supports annotations in DocComments Annotation declaration has the format of
* @KEY VALUE(S)
Where KEY may contain subkeys seperated by .
and VALUES are space or comma seperated strings
Example
This Example shows the different forms of annotations and their expected values
/** * @key1 * @key2 * @key3.subKey1 * @key3.subKey2.subkey21 success * @key4 v1 * @key5 (v2) * @key6 v3 v4 * @key7 "v5\"With Space and Quotes\"" * @key8 ("v6\"With Space and Quotes\"", v7) * @key9 ("v8\"With Space and Quotes\"", v9) description1 * @key10 ("v10 With \\", v11) description2 * @key11 ("123", v12) description3 * @key12 ("true", "false") * @key13 v13 * @key13 1234 * @key14 (v14) * @key14 v15 * @ notKey * @wrongKey(v16) desc * */ public $testDifferrentFormatsOfAnnoptations;
The array of annotations returned from
PhpPlatform\Annotations\Annotation::getAnnotations($className, 'testDifferrentFormatsOfAnnoptations');
Will be
[
"testDifferrentFormatsOfAnnoptations" => [
"key1" => true,
"key2" => true,
"key3" => [
"subKey1" => true,
"subKey2" => [
"subkey21" => "success"
]
],
"key4" => "v1",
"key5" => ["v2"],
"key6" => ["v3", "v4"],
"key7" => 'v5"With Space and Quotes"',
"key8" => ['v6"With Space and Quotes"', "v7"],
"key9" => ['v8"With Space and Quotes"', "v9"],
"key10" => ["v10 With \\", "v11"],
"key11" => [123, "v12"],
"key12" => [true, false],
"key13" => ['v13', 1234],
"key14" => ["v14", "v15"]
]
]