Skip to content

Commit 82561ad

Browse files
committed
Do not try to require "ext-..." as library
1 parent 0d35e69 commit 82561ad

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/main/php/xp/runtime/Modules.class.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ public function require($namespace) {
9797
private function load($namespace, $module, $version= null) {
9898
if (isset($this->loaded[$module]) || Module::loaded($module)) return null;
9999

100+
if (0 === strncmp($module, 'ext-', 4)) {
101+
return extension_loaded(substr($module, 4)) ? null : new ModuleNotFound($module);
102+
}
103+
100104
foreach ([$this->vendorDir(), $this->userDir($namespace)] as $dir) {
101105
$base= (
102106
$dir.DIRECTORY_SEPARATOR
@@ -112,11 +116,11 @@ private function load($namespace, $module, $version= null) {
112116

113117
$this->loaded[$module]= true;
114118
foreach ($defines['autoload']['files'] ?? [] as $file) {
115-
require($base.strtr($file, '/', DIRECTORY_SEPARATOR));
119+
require_once $base.strtr($file, '/', DIRECTORY_SEPARATOR);
116120
}
117121

118122
$errors= [];
119-
foreach ($defines['require'] as $dependency => $version) {
123+
foreach ($defines['require'] ?? [] as $dependency => $version) {
120124
if ($e= $this->load($namespace, $dependency, $version)) $errors[$dependency]= $e;
121125
}
122126
return $errors ? new CouldNotLoadDependencies($errors) : null;

0 commit comments

Comments
 (0)