feat: Complete Woles Framework v1.0 with enterprise-grade UI
- 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
This commit is contained in:
63
woles
Normal file
63
woles
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/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;
|
||||
}
|
||||
Reference in New Issue
Block a user