$line) { if (preg_match('/\bclass\s+' . preg_quote($class_name) . '\b/', $line)) { $line_number = $i + 1; break; } } $error_message = "Code Quality Violation (MODEL-EXTENDS-01) - Incorrect Model Inheritance\n\n"; $error_message .= "Model class '{$class_name}' extends Model directly instead of Rsx_Model_Abstract\n\n"; $error_message .= "File: {$file_path}\n"; $error_message .= "Line: {$line_number}\n\n"; $error_message .= "CRITICAL: All models in /rsx/ MUST extend Rsx_Model_Abstract for proper framework functionality.\n\n"; $error_message .= "Resolution:\nChange the class declaration to:\n"; $error_message .= "class {$class_name} extends Rsx_Model_Abstract\n\n"; $error_message .= "This ensures mass assignment protection, proper serialization, and framework integration."; throw new \App\RSpade\CodeQuality\RuntimeChecks\YoureDoingItWrongException( $error_message, 0, null, $file_path, $line_number ); } } }