Fix undefined Manifest::php_resolve_class() in Type_Ref_Registry

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-12-27 23:32:35 +00:00
parent 97fc6270f9
commit 56680840a1

View File

@@ -142,7 +142,7 @@ class Type_Ref_Registry
$morph_map = []; $morph_map = [];
foreach (static::$map_class_to_id as $class_name => $id) { foreach (static::$map_class_to_id as $class_name => $id) {
// Try to resolve the fully qualified class name // Try to resolve the fully qualified class name
$fqcn = Manifest::php_resolve_class($class_name); $fqcn = static::_resolve_fqcn($class_name);
if ($fqcn) { if ($fqcn) {
$morph_map[$class_name] = $fqcn; $morph_map[$class_name] = $fqcn;
} }
@@ -253,7 +253,7 @@ class Type_Ref_Registry
RsxCache::set(static::CACHE_KEY, static::$map_class_to_id, RsxCache::HOUR); RsxCache::set(static::CACHE_KEY, static::$map_class_to_id, RsxCache::HOUR);
// Update Laravel morph map // Update Laravel morph map
$fqcn = Manifest::php_resolve_class($class_name); $fqcn = static::_resolve_fqcn($class_name);
if ($fqcn) { if ($fqcn) {
Relation::morphMap([$class_name => $fqcn]); Relation::morphMap([$class_name => $fqcn]);
} }
@@ -270,7 +270,7 @@ class Type_Ref_Registry
protected static function _validate_class(string $class_name): void protected static function _validate_class(string $class_name): void
{ {
// Resolve the fully qualified class name // Resolve the fully qualified class name
$fqcn = Manifest::php_resolve_class($class_name); $fqcn = static::_resolve_fqcn($class_name);
if (!$fqcn) { if (!$fqcn) {
throw new RuntimeException( throw new RuntimeException(
@@ -296,7 +296,7 @@ class Type_Ref_Registry
*/ */
protected static function _get_table_name(string $class_name): ?string protected static function _get_table_name(string $class_name): ?string
{ {
$fqcn = Manifest::php_resolve_class($class_name); $fqcn = static::_resolve_fqcn($class_name);
if (!$fqcn) { if (!$fqcn) {
return null; return null;
} }
@@ -309,4 +309,21 @@ class Type_Ref_Registry
return null; return null;
} }
} }
/**
* Resolve a simple class name to its fully qualified class name
*
* @param string $class_name Simple class name (e.g., "Contact_Model")
* @return string|null FQCN or null if not found in manifest
*/
protected static function _resolve_fqcn(string $class_name): ?string
{
try {
$metadata = Manifest::php_get_metadata_by_class($class_name);
return $metadata['fqcn'] ?? null;
} catch (\RuntimeException $e) {
// Class not found in manifest
return null;
}
}
} }