- Add comprehensive error handling system with custom error pages - Implement professional enterprise-style design with Tailwind CSS - Create modular HMVC architecture with clean separation of concerns - Add security features: CSRF protection, XSS filtering, Argon2ID hashing - Include CLI tools for development workflow - Add error reporting dashboard with system monitoring - Implement responsive design with consistent slate color scheme - Replace all emoji icons with professional SVG icons - Add comprehensive test suite with PHPUnit - Include database migrations and seeders - Add proper exception handling with fallback pages - Implement template engine with custom syntax support - Add helper functions and facades for clean code - Include proper logging and debugging capabilities
64 lines
1.9 KiB
PHP
64 lines
1.9 KiB
PHP
#!/usr/bin/env php
|
|
<?php
|
|
|
|
// Woles Framework - Woles CLI
|
|
|
|
require_once __DIR__ . '/vendor/autoload.php';
|
|
|
|
// Load environment variables
|
|
if (file_exists(__DIR__ . '/.env')) {
|
|
$lines = file(__DIR__ . '/.env', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
|
foreach ($lines as $line) {
|
|
if (strpos($line, '=') !== false && strpos($line, '#') !== 0) {
|
|
list($key, $value) = explode('=', $line, 2);
|
|
$key = trim($key);
|
|
$value = trim($value);
|
|
putenv("$key=$value");
|
|
$_ENV[$key] = $value;
|
|
}
|
|
}
|
|
}
|
|
|
|
use App\Core\Commands\CommandFactory;
|
|
|
|
$argv = $_SERVER['argv'] ?? [];
|
|
$command = $argv[1] ?? 'help';
|
|
$args = array_slice($argv, 2);
|
|
|
|
switch ($command) {
|
|
case 'make:module':
|
|
(new App\Core\Commands\MakeModuleCommand())->execute($args[0] ?? null);
|
|
break;
|
|
case 'make:controller':
|
|
(new App\Core\Commands\MakeControllerCommand())->execute($args[0] ?? null, $args[1] ?? null);
|
|
break;
|
|
case 'make:model':
|
|
(new App\Core\Commands\MakeModelCommand())->execute($args[0] ?? null, $args[1] ?? null);
|
|
break;
|
|
case 'serve':
|
|
(new App\Core\Commands\ServeCommand())->execute();
|
|
break;
|
|
case 'migrate':
|
|
(new App\Core\Commands\MigrateCommand())->execute();
|
|
break;
|
|
case 'migrate:rollback':
|
|
(new App\Core\Commands\MigrateCommand())->rollback();
|
|
break;
|
|
case 'migrate:status':
|
|
(new App\Core\Commands\MigrateCommand())->status();
|
|
break;
|
|
case 'seed':
|
|
(new App\Core\Commands\SeedCommand())->execute($args[0] ?? null);
|
|
break;
|
|
case 'key:generate':
|
|
(new App\Core\Commands\KeyGenerateCommand())->execute(false);
|
|
break;
|
|
case 'key:generate-show':
|
|
(new App\Core\Commands\KeyGenerateCommand())->execute(true);
|
|
break;
|
|
case 'help':
|
|
default:
|
|
(new App\Core\Commands\HelpCommand())->execute();
|
|
break;
|
|
}
|