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 = [];
foreach (static::$map_class_to_id as $class_name => $id) {
// Try to resolve the fully qualified class name
$fqcn = Manifest::php_resolve_class($class_name);
$fqcn = static::_resolve_fqcn($class_name);
if ($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);
// Update Laravel morph map
$fqcn = Manifest::php_resolve_class($class_name);
$fqcn = static::_resolve_fqcn($class_name);
if ($fqcn) {
Relation::morphMap([$class_name => $fqcn]);
}
@@ -270,7 +270,7 @@ class Type_Ref_Registry
protected static function _validate_class(string $class_name): void
{
// Resolve the fully qualified class name
$fqcn = Manifest::php_resolve_class($class_name);
$fqcn = static::_resolve_fqcn($class_name);
if (!$fqcn) {
throw new RuntimeException(
@@ -296,7 +296,7 @@ class Type_Ref_Registry
*/
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) {
return null;
}
@@ -309,4 +309,21 @@ class Type_Ref_Registry
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;
}
}
}