Exponential 5.x Kernel 7.5.40 Exponential New Stack (Symfony-based) Kernel — PHP Class Reference

UrlAliasHandler.php
Go to the documentation of this file.
1 <?php
2
7 namespace eZ\Publish\Core\Persistence\Cache;
8
9 use eZ\Publish\API\Repository\Exceptions\NotFoundException as APINotFoundException;
10 use eZ\Publish\Core\Base\Exceptions\NotFoundException;
11 use eZ\Publish\SPI\Persistence\Content\UrlAlias\Handler as UrlAliasHandlerInterface;
12 use eZ\Publish\SPI\Persistence\Content\UrlAlias;
13
17 class UrlAliasHandler extends AbstractInMemoryPersistenceHandler implements UrlAliasHandlerInterface
18 {
19 private const URL_ALIAS_LOCATION_IDENTIFIER = 'url_alias_location';
20 private const URL_ALIAS_LOCATION_PATH_IDENTIFIER = 'url_alias_location_path';
21 private const URL_ALIAS_NOT_FOUND_IDENTIFIER = 'url_alias_not_found';
22 private const URL_ALIAS_IDENTIFIER = 'url_alias';
23 private const URL_ALIAS_LOCATION_LIST_IDENTIFIER = 'url_alias_location_list';
24 private const URL_ALIAS_LOCATION_LIST_CUSTOM_IDENTIFIER = 'url_alias_location_list_custom';
25 private const URL_ALIAS_CUSTOM_IDENTIFIER = 'url_alias_custom';
26 private const URL_ALIAS_URL_IDENTIFIER = 'url_alias_url';
27 private const URL_ALIAS_WITH_HASH_IDENTIFIER = 'url_alias_with_hash';
28
32 const NOT_FOUND = 0;
33
37 public function publishUrlAliasForLocation(
38 $locationId,
39 $parentLocationId,
40 $name,
41 $languageCode,
42 $alwaysAvailable = false,
43 $updatePathIdentificationString = false
44 ) {
45 $this->logger->logCall(
46 __METHOD__,
47 [
48 'location' => $locationId,
49 'parent' => $parentLocationId,
50 'name' => $name,
51 'language' => $languageCode,
52 'alwaysAvailable' => $alwaysAvailable,
53 ]
54 );
55
56 $this->persistenceHandler->urlAliasHandler()->publishUrlAliasForLocation(
57 $locationId,
58 $parentLocationId,
59 $name,
60 $languageCode,
61 $alwaysAvailable,
62 $updatePathIdentificationString
63 );
64
65 $this->cache->invalidateTags([
66 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]),
67 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$locationId]),
68 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_NOT_FOUND_IDENTIFIER),
69 ]);
70 }
71
75 public function createCustomUrlAlias($locationId, $path, $forwarding = false, $languageCode = null, $alwaysAvailable = false)
76 {
77 $this->logger->logCall(
78 __METHOD__,
79 [
80 'location' => $locationId,
81 '$path' => $path,
82 '$forwarding' => $forwarding,
83 'language' => $languageCode,
84 'alwaysAvailable' => $alwaysAvailable,
85 ]
86 );
87
88 $urlAlias = $this->persistenceHandler->urlAliasHandler()->createCustomUrlAlias(
89 $locationId,
90 $path,
91 $forwarding,
92 $languageCode,
93 $alwaysAvailable
94 );
95
96 $this->cache->invalidateTags([
97 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]),
98 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$locationId]),
99 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_NOT_FOUND_IDENTIFIER),
100 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_IDENTIFIER, [$urlAlias->id]),
101 ]);
102
103 return $urlAlias;
104 }
105
109 public function createGlobalUrlAlias($resource, $path, $forwarding = false, $languageCode = null, $alwaysAvailable = false)
110 {
111 $this->logger->logCall(
112 __METHOD__,
113 [
114 'resource' => $resource,
115 'path' => $path,
116 'forwarding' => $forwarding,
117 'language' => $languageCode,
118 'alwaysAvailable' => $alwaysAvailable,
119 ]
120 );
121
122 $urlAlias = $this->persistenceHandler->urlAliasHandler()->createGlobalUrlAlias(
123 $resource,
124 $path,
125 $forwarding,
126 $languageCode,
127 $alwaysAvailable
128 );
129
130 $this->cache->invalidateTags([
131 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_NOT_FOUND_IDENTIFIER),
132 ]);
133
134 return $urlAlias;
135 }
136
140 public function listGlobalURLAliases($languageCode = null, $offset = 0, $limit = -1)
141 {
142 $this->logger->logCall(__METHOD__, ['language' => $languageCode, 'offset' => $offset, 'limit' => $limit]);
143
144 return $this->persistenceHandler->urlAliasHandler()->listGlobalURLAliases($languageCode, $offset, $limit);
145 }
146
150 public function listURLAliasesForLocation($locationId, $custom = false)
151 {
152 return $this->getListCacheValue(
153 ($custom) ?
154 $this->cacheIdentifierGenerator->generateKey(self::URL_ALIAS_LOCATION_LIST_CUSTOM_IDENTIFIER, [$locationId], true) :
155 $this->cacheIdentifierGenerator->generateKey(self::URL_ALIAS_LOCATION_LIST_IDENTIFIER, [$locationId], true),
156 function () use ($locationId, $custom) {
157 return $this->persistenceHandler->urlAliasHandler()->listURLAliasesForLocation($locationId, $custom);
158 },
159 function (UrlAlias $alias) {
160 $tags = [
161 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_IDENTIFIER, [$alias->id]),
162 ];
163
164 if ($alias->type === UrlAlias::LOCATION) {
165 $tags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$alias->destination]);
166
167 $location = $this->persistenceHandler->locationHandler()->load($alias->destination);
168 $pathIds = $this->locationPathConverter->convertToPathIds($location->pathString);
169 foreach ($pathIds as $pathId) {
170 $tags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$pathId]);
171 }
172 }
173
174 return $tags;
175 },
176 static function () { return []; },
177 function () use ($locationId) {
178 return [
179 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]),
180 ];
181 },
182 ['location' => $locationId, 'custom' => $custom]
183 );
184 }
185
189 public function removeURLAliases(array $urlAliases)
190 {
191 $this->logger->logCall(__METHOD__, ['aliases' => $urlAliases]);
192 $return = $this->persistenceHandler->urlAliasHandler()->removeURLAliases($urlAliases);
193
194 $cacheTags = [];
195 foreach ($urlAliases as $urlAlias) {
196 $cacheTags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_IDENTIFIER, [$urlAlias->id]);
197 if ($urlAlias->type === UrlAlias::LOCATION) {
198 $cacheTags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$urlAlias->destination]);
199 $cacheTags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$urlAlias->destination]);
200 }
201 if ($urlAlias->isCustom) {
202 $cacheTags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_CUSTOM_IDENTIFIER, [$urlAlias->destination]);
203 }
204 }
205 $this->cache->invalidateTags($cacheTags);
206
207 return $return;
208 }
209
213 public function lookup($url)
214 {
215 $cacheItem = $this->cache->getItem(
216 $this->cacheIdentifierGenerator->generateKey(
217 self::URL_ALIAS_URL_IDENTIFIER,
218 [$this->cacheIdentifierSanitizer->escapeForCacheKey($url)],
219 true
220 )
221 );
222
223 if ($cacheItem->isHit()) {
224 $this->logger->logCacheHit(['url' => $url]);
225
226 if (($return = $cacheItem->get()) === self::NOT_FOUND) {
227 throw new NotFoundException('UrlAlias', $url);
228 }
229
230 return $return;
231 }
232
233 $this->logger->logCacheMiss(['url' => $url]);
234 try {
235 $urlAlias = $this->persistenceHandler->urlAliasHandler()->lookup($url);
236 } catch (APINotFoundException $e) {
237 $cacheItem->set(self::NOT_FOUND)
238 ->expiresAfter(30)
239 ->tag([
240 $this->cacheIdentifierGenerator->generateKey(self::URL_ALIAS_NOT_FOUND_IDENTIFIER),
241 ]);
242 $this->cache->save($cacheItem);
243 throw $e;
244 }
245
246 $cacheItem->set($urlAlias);
247 $cacheItem->tag($this->getCacheTags($urlAlias));
248 $this->cache->save($cacheItem);
249
250 return $urlAlias;
251 }
252
256 public function loadUrlAlias($id)
257 {
258 $cacheItem = $this->cache->getItem(
259 $this->cacheIdentifierGenerator->generateKey(self::URL_ALIAS_IDENTIFIER, [$id], true)
260 );
261
262 if ($cacheItem->isHit()) {
263 $this->logger->logCacheHit(['alias' => $id]);
264
265 return $cacheItem->get();
266 }
267
268 $this->logger->logCacheMiss(['alias' => $id]);
269 $urlAlias = $this->persistenceHandler->urlAliasHandler()->loadUrlAlias($id);
270
271 $cacheItem->set($urlAlias);
272 $cacheItem->tag($this->getCacheTags($urlAlias));
273 $this->cache->save($cacheItem);
274
275 return $urlAlias;
276 }
277
281 public function locationMoved($locationId, $oldParentId, $newParentId)
282 {
283 $this->logger->logCall(
284 __METHOD__,
285 [
286 'location' => $locationId,
287 'oldParent' => $oldParentId,
288 'newParent' => $newParentId,
289 ]
290 );
291
292 $return = $this->persistenceHandler->urlAliasHandler()->locationMoved($locationId, $oldParentId, $newParentId);
293
294 if ($oldParentId !== $newParentId) {
295 $this->cache->invalidateTags([
296 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]),
297 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$locationId]),
298 ]);
299 }
300
301 return $return;
302 }
303
307 public function locationCopied($locationId, $newLocationId, $newParentId)
308 {
309 $this->logger->logCall(
310 __METHOD__,
311 [
312 'oldLocation' => $locationId,
313 'newLocation' => $newLocationId,
314 'newParent' => $newParentId,
315 ]
316 );
317
318 $return = $this->persistenceHandler->urlAliasHandler()->locationCopied(
319 $locationId,
320 $newLocationId,
321 $newParentId
322 );
323 $this->cache->invalidateTags([
324 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]),
325 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$newLocationId]),
326 ]);
327
328 return $return;
329 }
330
334 public function locationDeleted($locationId): array
335 {
336 $this->logger->logCall(__METHOD__, ['location' => $locationId]);
337 $childrenAliases = $this->persistenceHandler->urlAliasHandler()
338 ->locationDeleted($locationId);
339
340 $tags = [
341 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]),
342 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$locationId]),
343 ];
344
345 foreach ($childrenAliases as $childAlias) {
346 $tags[] = $this->cacheIdentifierGenerator->generateTag(
347 self::URL_ALIAS_WITH_HASH_IDENTIFIER,
348 [$locationId, $childAlias['text_md5']]
349 );
350 }
351
352 $this->cache->invalidateTags($tags);
353
354 return $childrenAliases;
355 }
356
360 public function locationSwapped($location1Id, $location1ParentId, $location2Id, $location2ParentId)
361 {
362 $this->logger->logCall(
363 __METHOD__,
364 [
365 'location1Id' => $location1Id,
366 'location1ParentId' => $location1ParentId,
367 'location2Id' => $location2Id,
368 'location2ParentId' => $location2ParentId,
369 ]
370 );
371
372 $return = $this->persistenceHandler->urlAliasHandler()->locationSwapped(
373 $location1Id,
374 $location1ParentId,
375 $location2Id,
376 $location2ParentId
377 );
378
379 $this->cache->invalidateTags(
380 [
381 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$location1Id]),
382 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$location1Id]),
383 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$location2Id]),
384 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$location2Id]),
385 ]
386 );
387
388 return $return;
389 }
390
394 public function translationRemoved(array $locationIds, $languageCode)
395 {
396 $this->logger->logCall(
397 __METHOD__,
398 ['locations' => implode(',', $locationIds), 'language' => $languageCode]
399 );
400
401 $this->persistenceHandler->urlAliasHandler()->translationRemoved($locationIds, $languageCode);
402
403 $locationTags = [];
404 foreach ($locationIds as $locationId) {
405 $locationTags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]);
406 $locationTags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$locationId]);
407 }
408
409 $this->cache->invalidateTags($locationTags);
410 }
411
415 public function archiveUrlAliasesForDeletedTranslations($locationId, $parentLocationId, array $languageCodes)
416 {
417 $this->logger->logCall(
418 __METHOD__,
419 [
420 'locationId' => $locationId,
421 'parentLocationId' => $parentLocationId,
422 'languageCodes' => implode(',', $languageCodes),
423 ]
424 );
425
426 $this->persistenceHandler->urlAliasHandler()->archiveUrlAliasesForDeletedTranslations(
427 $locationId,
428 $parentLocationId,
429 $languageCodes
430 );
431
432 $this->cache->invalidateTags([
433 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]),
434 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$locationId]),
435 ]);
436 }
437
448 private function getCacheTags(UrlAlias $urlAlias, array $tags = [])
449 {
450 $tags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_IDENTIFIER, [$urlAlias->id]);
451
452 if ($urlAlias->type === UrlAlias::LOCATION) {
453 $tags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$urlAlias->destination]);
454 $location = $this->persistenceHandler->locationHandler()->load($urlAlias->destination);
455 $pathIds = $this->locationPathConverter->convertToPathIds($location->pathString);
456
457 foreach ($pathIds as $pathId) {
458 $tags[] = $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$pathId]);
459 }
460 }
461
462 return array_unique($tags);
463 }
464
470 public function deleteCorruptedUrlAliases()
471 {
472 $this->logger->logCall(__METHOD__);
473
474 $deletedCount = $this->persistenceHandler->urlAliasHandler()->deleteCorruptedUrlAliases();
475
476 if ($deletedCount) {
477 $this->cache->clear();
478 }
479
480 return $deletedCount;
481 }
482
493 public function repairBrokenUrlAliasesForLocation(int $locationId)
494 {
495 $this->logger->logCall(__METHOD__, ['locationId' => $locationId]);
496
497 $this->persistenceHandler->urlAliasHandler()->repairBrokenUrlAliasesForLocation($locationId);
498
499 $this->cache->invalidateTags(
500 [
501 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_IDENTIFIER, [$locationId]),
502 $this->cacheIdentifierGenerator->generateTag(self::URL_ALIAS_LOCATION_PATH_IDENTIFIER, [$locationId]),
503 ]
504 );
505 }
506 }
eZ\Publish\API\Repository\Exceptions\NotFoundException
This Exception is thrown if an object referenced by an id or identifier could not be found in the rep...
Definition: API/Repository/Exceptions/NotFoundException.php:16
eZ\Publish\Core\Base\Exceptions\NotFoundException
Not Found Exception implementation.
Definition: Core/Base/Exceptions/NotFoundException.php:21
eZ\Publish\Core\Persistence\Cache\AbstractInMemoryHandler\getListCacheValue
getListCacheValue(string $key, callable $backendLoader, callable $cacheTagger, callable $cacheIndexes, callable $listTags=null, array $arguments=[])
Load list of objects of some type and loggs the hits / misses.
Definition: AbstractInMemoryHandler.php:127
eZ\Publish\Core\Persistence\Cache\AbstractInMemoryPersistenceHandler
Internal abstract handler for use in other SPI Persistence Cache Handlers.
Definition: AbstractInMemoryPersistenceHandler.php:22
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler
Definition: UrlAliasHandler.php:18
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\archiveUrlAliasesForDeletedTranslations
archiveUrlAliasesForDeletedTranslations($locationId, $parentLocationId, array $languageCodes)
{Archive UrlAliases for Translations that were removed from the underlying published content....
Definition: UrlAliasHandler.php:415
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\locationSwapped
locationSwapped($location1Id, $location1ParentId, $location2Id, $location2ParentId)
{Notifies the underlying engine that a location was swapped.This method triggers the change of the au...
Definition: UrlAliasHandler.php:360
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\NOT_FOUND
const NOT_FOUND
Constant used for storing not found results for lookup().
Definition: UrlAliasHandler.php:32
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_LOCATION_PATH_IDENTIFIER
const URL_ALIAS_LOCATION_PATH_IDENTIFIER
Definition: UrlAliasHandler.php:20
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\locationDeleted
locationDeleted($locationId)
{Notifies the underlying engine that a location was deleted or moved to trash.array}
Definition: UrlAliasHandler.php:334
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_IDENTIFIER
const URL_ALIAS_IDENTIFIER
Definition: UrlAliasHandler.php:22
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\locationCopied
locationCopied($locationId, $newLocationId, $newParentId)
{Notifies the underlying engine that a location was copied.This method triggers the creation of the a...
Definition: UrlAliasHandler.php:307
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\removeURLAliases
removeURLAliases(array $urlAliases)
{Removes url aliases.Autogenerated aliases are not removed by this method.bool}
Definition: UrlAliasHandler.php:189
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\listGlobalURLAliases
listGlobalURLAliases($languageCode=null, $offset=0, $limit=-1)
{List global aliases.}
Definition: UrlAliasHandler.php:140
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_LOCATION_IDENTIFIER
const URL_ALIAS_LOCATION_IDENTIFIER
Definition: UrlAliasHandler.php:19
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\listURLAliasesForLocation
listURLAliasesForLocation($locationId, $custom=false)
{List of url entries of $urlType, pointing to $locationId.}
Definition: UrlAliasHandler.php:150
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\publishUrlAliasForLocation
publishUrlAliasForLocation( $locationId, $parentLocationId, $name, $languageCode, $alwaysAvailable=false, $updatePathIdentificationString=false)
{}
Definition: UrlAliasHandler.php:37
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_LOCATION_LIST_CUSTOM_IDENTIFIER
const URL_ALIAS_LOCATION_LIST_CUSTOM_IDENTIFIER
Definition: UrlAliasHandler.php:24
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_LOCATION_LIST_IDENTIFIER
const URL_ALIAS_LOCATION_LIST_IDENTIFIER
Definition: UrlAliasHandler.php:23
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\createGlobalUrlAlias
createGlobalUrlAlias($resource, $path, $forwarding=false, $languageCode=null, $alwaysAvailable=false)
{Create a user chosen $alias pointing to a resource in $languageCode.This method does not handle loca...
Definition: UrlAliasHandler.php:109
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\lookup
lookup($url)
{Looks up a url alias for the given url.}
Definition: UrlAliasHandler.php:213
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\repairBrokenUrlAliasesForLocation
repairBrokenUrlAliasesForLocation(int $locationId)
Attempt repairing auto-generated URL aliases for the given Location (including history).
Definition: UrlAliasHandler.php:493
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_NOT_FOUND_IDENTIFIER
const URL_ALIAS_NOT_FOUND_IDENTIFIER
Definition: UrlAliasHandler.php:21
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_URL_IDENTIFIER
const URL_ALIAS_URL_IDENTIFIER
Definition: UrlAliasHandler.php:26
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\loadUrlAlias
loadUrlAlias($id)
{Loads URL alias by given $id.}
Definition: UrlAliasHandler.php:256
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\deleteCorruptedUrlAliases
deleteCorruptedUrlAliases()
Delete corrupted URL aliases (global, custom and system).
Definition: UrlAliasHandler.php:470
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_WITH_HASH_IDENTIFIER
const URL_ALIAS_WITH_HASH_IDENTIFIER
Definition: UrlAliasHandler.php:27
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\locationMoved
locationMoved($locationId, $oldParentId, $newParentId)
{Notifies the underlying engine that a location has moved.This method triggers the change of the auto...
Definition: UrlAliasHandler.php:281
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\translationRemoved
translationRemoved(array $locationIds, $languageCode)
{Notifies the underlying engine that Locations Content Translation was removed.all Locations of the C...
Definition: UrlAliasHandler.php:394
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\createCustomUrlAlias
createCustomUrlAlias($locationId, $path, $forwarding=false, $languageCode=null, $alwaysAvailable=false)
{Create a user chosen $alias pointing to $locationId in $languageCode.If $languageCode is null the $a...
Definition: UrlAliasHandler.php:75
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\getCacheTags
getCacheTags(UrlAlias $urlAlias, array $tags=[])
Return relevant UrlAlias and optionally UrlAlias location tags so cache can be purged reliably.
Definition: UrlAliasHandler.php:448
eZ\Publish\Core\Persistence\Cache\UrlAliasHandler\URL_ALIAS_CUSTOM_IDENTIFIER
const URL_ALIAS_CUSTOM_IDENTIFIER
Definition: UrlAliasHandler.php:25
eZ\Publish\SPI\Persistence\Content\UrlAlias
UrlAlias models one url alias path element separated by '/' in urls.
Definition: SPI/Persistence/Content/UrlAlias.php:17
eZ\Publish\SPI\Persistence\Content\UrlAlias\LOCATION
const LOCATION
Definition: SPI/Persistence/Content/UrlAlias.php:18
eZ\Publish\SPI\Persistence\Content\UrlAlias\Handler
The UrlAlias Handler interface provides nice urls management.
Definition: SPI/Persistence/Content/UrlAlias/Handler.php:16
eZ\Publish\Core\Persistence\Cache
Definition: AbstractHandler.php:7
eZ\Publish\SPI\Persistence\Content\UrlAlias
Definition: SPI/Persistence/Content/UrlAlias/Handler.php:7
Copyright © 1998 – 2026 7x. All rights reserved. Licensed under the GNU GPLv2+.