| 
<?phprequire_once __DIR__ . '/../../vendor/autoload.php';
 
 use Tools\CreateModule\ModuleGenerator;
 
 // Function to get user input
 function prompt(string $question): string {
 echo $question . " ";
 $handle = fopen("php://stdin", "r");
 $line = fgets($handle);
 fclose($handle);
 return trim($line);
 }
 
 // Display welcome message
 echo "\n=== upMVC Module Generator ===\n\n";
 
 try {
 // Get module name
 $moduleName = prompt("Enter module name (e.g., Blog):");
 if (empty($moduleName)) {
 throw new Exception("Module name cannot be empty!");
 }
 
 // Get module type
 echo "\nAvailable module types:\n";
 echo "1. basic - Standard MVC module\n";
 echo "2. api - REST API module\n";
 echo "3. react - React integration module\n";
 
 $typeChoice = prompt("\nSelect module type (1-3, default: 1):");
 
 // Map choice to type
 $typeMap = [
 '1' => 'basic',
 '2' => 'api',
 '3' => 'react'
 ];
 
 $moduleType = $typeMap[$typeChoice] ?? 'basic';
 
 // Create and run generator
 $generator = new ModuleGenerator($moduleName, $moduleType);
 
 echo "\nGenerating {$moduleType} module '{$moduleName}'...\n";
 
 if ($generator->generate()) {
 echo "\n? Module generated successfully!\n";
 echo "\nNext steps:\n";
 echo "1. Run 'composer dump-autoload' to update autoloader\n";
 echo "2. Check the generated files in modules/{$moduleName}/\n";
 echo "3. Add your custom logic to the Controller, Model, and View\n";
 echo "4. Access your module at: http://your-domain/{$moduleName}\n";
 } else {
 echo "\n? Failed to generate module.\n";
 }
 
 } catch (Exception $e) {
 echo "\n? Error: " . $e->getMessage() . "\n";
 exit(1);
 }
 |