Skip to content

Instantly share code, notes, and snippets.

@beberlei
Last active May 12, 2016 14:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beberlei/18db9f7d5f6157b817348a58fa2aee25 to your computer and use it in GitHub Desktop.
Save beberlei/18db9f7d5f6157b817348a58fa2aee25 to your computer and use it in GitHub Desktop.
<?php
<<ORM\Entity(["repositoryClass" => "UserRepository"])>>
class User
{
<<ORM\Id>>
<<ORM\Column(["type" => "string", "options" => ["default" => "1234"]])>>
<<ORM\GeneratedValue>>
private $id;
<<ORM\OneToMany(["targetEntity" => "Group", "joinColumns" => ["columnName" => "group_id", "referenceColumnName" => "id"]])>>
private $groups;
}
$reflClass = new ReflectionClass("User");
var_dump($attributes);
// prints ["ORM\Entity" => [0 => ["repositoryClass" => "UserRepository"]]]
$idProperty = $reflClass->getProperty("id");
var_dump($idProperty->getAttributes());
/* prints
[
"ORM\Id" => [],
"ORM\Column" => [0 => ["type" => "string", "options" => ["default" => "1234"]]],
"ORM\GeneratedValue" => []
]
*/
$groupProperty = $reflClass->getProperty("groups");
var_dump($groupProperty->getAttributes())
/* prints
[
"ORM\OneToMany" => [
[
"targetEntity" => "Group",
"joinColumns" => ["columnName" => "group_id", "referenceColumnName" => "id"]
]
]
]
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment