PHP Classes

File: tools/createmodule/create-module.php

Recommend this page to a friend!
  Classes of Adrian M   upMVC   tools/createmodule/create-module.php   Download  
File: tools/createmodule/create-module.php
Role: Example script
Content type: text/plain
Description: Example script
Class: upMVC
Pure PHP web development without other frameworks
Author: By
Last change:
Date: 1 month ago
Size: 1,787 bytes
 

Contents

Class file image Download
<?php
require_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);
}