Skip to content

Commit 9fc029a

Browse files
authored
Add overwrite for reserved event names to emulate GTM Events (#50)
NOTE: Reserved names will not pass debugging; use this at own discretion.
2 parents 680dc09 + 373cb7c commit 9fc029a

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/Facade/Type/GtmEventType.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace AlexWestergaard\PhpGa4\Facade\Type;
4+
5+
/**
6+
* Use this type to skip reserved names of events inside the EventHelper.
7+
* NOTICE: reserved names will not pass debugging, be careful with this.
8+
*/
9+
interface GtmEventType extends EventType
10+
{
11+
}

src/Helper/EventHelper.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace AlexWestergaard\PhpGa4\Helper;
44

5+
use AlexWestergaard\PhpGa4\Facade\Type\GtmEventType;
56
use AlexWestergaard\PhpGa4\Facade\Type\EventType;
67
use AlexWestergaard\PhpGa4\Facade\Type\DefaultEventParamsType;
78
use AlexWestergaard\PhpGa4\Facade\Type\CampaignType;
@@ -88,7 +89,7 @@ public function toArray(): array
8889
throw Ga4EventException::throwNameTooLong();
8990
} elseif (preg_match('/[^\w\d\-]/', $name)) {
9091
throw Ga4EventException::throwNameInvalid();
91-
} elseif (in_array($name, EventType::RESERVED_NAMES)) {
92+
} elseif (in_array($name, EventType::RESERVED_NAMES) && !($this instanceof GtmEventType)) {
9293
throw Ga4EventException::throwNameReserved($name);
9394
} else {
9495
$return['name'] = $name;

0 commit comments

Comments
 (0)