Skip to content

Commit 967225f

Browse files
committed
maintenance: gt-compat
1 parent c0a0174 commit 967225f

File tree

3 files changed

+68
-36
lines changed

3 files changed

+68
-36
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252

5353
"autoload": {
5454
"files": [
55-
"./src/gt-compat.php"
55+
"./gt-compat.php"
5656
],
5757
"psr-4": {
5858
"GT\\WebEngine\\": "./src/"

composer.lock

Lines changed: 35 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gt-compat.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
namespace GT\WebEngine;
3+
4+
function registerNamespaceCompatibilityAutoloader():void {
5+
static $registered = false;
6+
7+
if($registered) {
8+
return;
9+
}
10+
11+
spl_autoload_register(function(string $class):void {
12+
if(!str_starts_with($class, 'GT\\')) {
13+
return;
14+
}
15+
16+
$legacyClass = $class[0] . strtolower($class[1]) . substr($class, 2);
17+
spl_autoload_call($legacyClass);
18+
19+
if((class_exists($legacyClass, false)
20+
|| interface_exists($legacyClass, false)
21+
|| trait_exists($legacyClass, false))
22+
&& !class_exists($class, false)
23+
&& !interface_exists($class, false)
24+
&& !trait_exists($class, false)) {
25+
class_alias($legacyClass, $class);
26+
}
27+
}, true, true);
28+
29+
$registered = true;
30+
}
31+
32+
registerNamespaceCompatibilityAutoloader();

0 commit comments

Comments
 (0)