12
12
namespace Orbitale \Bundle \CmsBundle \Entity ;
13
13
14
14
use Doctrine \Common \Collections \ArrayCollection ;
15
- use Doctrine \ORM \Event \LifecycleEventArgs ;
16
- use Doctrine \ORM \Mapping as ORM ;
15
+ use Doctrine \ORM \Event \PreRemoveEventArgs ;
17
16
use Symfony \Bridge \Doctrine \Validator \Constraints \UniqueEntity ;
18
17
use Symfony \Component \String \Slugger \AsciiSlugger ;
19
18
use Symfony \Component \Validator \Constraints as Assert ;
20
19
21
20
/**
22
21
* @UniqueEntity("slug")
23
- * @ORM\HasLifecycleCallbacks()
24
- * @ORM\MappedSuperclass(repositoryClass="Orbitale\Bundle\CmsBundle\Repository\PageRepository")
25
22
*/
23
+ #[UniqueEntity("slug " )]
26
24
abstract class Page
27
25
{
28
26
/**
@@ -33,134 +31,125 @@ abstract public function getId();
33
31
/**
34
32
* @var string
35
33
*
36
- * @ORM\Column(name="title", type="string", length=255)
37
- *
38
34
* @Assert\Type("string")
39
35
* @Assert\NotBlank()
40
36
*/
37
+ #[Assert \Type("string " )]
38
+ #[Assert \NotBlank]
41
39
protected $ title ;
42
40
43
41
/**
44
42
* @var string
45
43
*
46
- * @ORM\Column(name="slug", type="string", length=255, unique=true)
47
- *
48
44
* @Assert\Type("string")
49
45
* @Assert\NotBlank()
50
46
*/
47
+ #[Assert \Type("string " )]
48
+ #[Assert \NotBlank]
51
49
protected $ slug ;
52
50
53
51
/**
54
52
* @var string
55
53
*
56
- * @ORM\Column(name="page_content", type="text", nullable=true)
57
- *
58
54
* @Assert\Type("string")
59
55
*/
56
+ #[Assert \Type("string " )]
60
57
protected $ content ;
61
58
62
59
/**
63
60
* @var string
64
61
*
65
- * @ORM\Column(name="meta_description", type="string", length=255, nullable=true)
66
- *
67
62
* @Assert\Type("string")
68
63
*/
64
+ #[Assert \Type("string " )]
69
65
protected $ metaDescription ;
70
66
71
67
/**
72
68
* @var string
73
69
*
74
- * @ORM\Column(name="meta_title", type="string", length=255, nullable=true)
75
- *
76
70
* @Assert\Type("string")
77
71
*/
72
+ #[Assert \Type("string " )]
78
73
protected $ metaTitle ;
79
74
80
75
/**
81
76
* @var string
82
77
*
83
- * @ORM\Column(name="meta_keywords", type="string", length=255, nullable=true)
84
- *
85
78
* @Assert\Type("string")
86
79
*/
80
+ #[Assert \Type("string " )]
87
81
protected $ metaKeywords ;
88
82
89
83
/**
90
84
* @var null|Category
91
85
*
92
86
* @Assert\Type(Category::class)
93
87
*/
88
+ #[Assert \Type(Category::class)]
94
89
protected $ category ;
95
90
96
91
/**
97
92
* @var string
98
93
*
99
- * @ORM\Column(name="css", type="text", nullable=true)
100
- *
101
94
* @Assert\Type("string")
102
95
*/
96
+ #[Assert \Type("string " )]
103
97
protected $ css ;
104
98
105
99
/**
106
100
* @var string
107
101
*
108
- * @ORM\Column(name="js", type="text", nullable=true)
109
- *
110
102
* @Assert\Type("string")
111
103
*/
104
+ #[Assert \Type("string " )]
112
105
protected $ js ;
113
106
114
107
/**
115
108
* @var \DateTimeImmutable
116
109
*
117
- * @ORM\Column(name="created_at", type="datetime_immutable")
118
- *
119
110
* @Assert\Type(\DateTimeImmutable::class)
120
111
*/
112
+ #[Assert \Type(\DateTimeImmutable::class)]
121
113
protected $ createdAt ;
122
114
123
115
/**
124
116
* @var bool
125
117
*
126
- * @ORM\Column(name="enabled", type="boolean")
127
- *
128
118
* @Assert\Type("bool")
129
119
*/
120
+ #[Assert \Type("bool " )]
130
121
protected $ enabled = false ;
131
122
132
123
/**
133
124
* @var bool
134
125
*
135
- * @ORM\Column(name="homepage", type="boolean")
136
- *
137
126
* @Assert\Type("bool")
138
127
*/
128
+ #[Assert \Type("bool " )]
139
129
protected $ homepage = false ;
140
130
141
131
/**
142
132
* @var string
143
133
*
144
- * @ORM\Column(name="host", type="string", length=255, nullable=true)
145
- *
146
134
* @Assert\Type("string")
147
135
*/
136
+ #[Assert \Type("string " )]
148
137
protected $ host ;
149
138
150
139
/**
151
140
* @var string
152
141
*
153
- * @ORM\Column(name="locale", type="string", length=6, nullable=true)
154
- *
155
142
* @Assert\Type("string")
156
143
*/
144
+ #[Assert \Type("string " )]
157
145
protected $ locale ;
158
146
159
147
/**
160
148
* @var null|Page
161
149
*
162
150
* @Assert\Type(Page::class)
163
151
*/
152
+ #[Assert \Type(Page::class)]
164
153
protected $ parent ;
165
154
166
155
/**
@@ -380,23 +369,16 @@ public function getTree(string $separator = '/'): string
380
369
return trim ($ tree , $ separator );
381
370
}
382
371
383
- /**
384
- * @ORM\PrePersist()
385
- * @ORM\PreUpdate()
386
- */
387
372
public function updateSlug (): void
388
373
{
389
374
if (!$ this ->slug ) {
390
375
$ this ->slug = mb_strtolower ((new AsciiSlugger ())->slug ($ this ->title )->toString ());
391
376
}
392
377
}
393
378
394
- /**
395
- * @ORM\PreRemove()
396
- */
397
- public function onRemove (LifecycleEventArgs $ event ): void
379
+ public function onRemove (PreRemoveEventArgs $ event ): void
398
380
{
399
- $ em = $ event ->getEntityManager ();
381
+ $ em = $ event ->getObjectManager ();
400
382
if (count ($ this ->children )) {
401
383
foreach ($ this ->children as $ child ) {
402
384
$ child ->setParent (null );
0 commit comments