PHP Classes

File: bootstrap/bin/index.php

Recommend this page to a friend!
  Classes of Francisco Núñez   Catalyst   bootstrap/bin/index.php   Download  
File: bootstrap/bin/index.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Catalyst
Framework to develop MVC-based PHP applications
Author: By
Last change:
Date: 2 days ago
Size: 2,070 bytes
 

Contents

Class file image Download
<?php

declare(strict_types=1);

/**************************************************************************************
 *
 * Catalyst PHP Framework
 * PHP Version 8.3 (Required).
 *
 * @package Catalyst
 * @subpackage Public
 * @see https://github.com/arcanisgk/catalyst
 *
 * @author Walter Nuñez (arcanisgk/original founder) <[email protected]>
 * @copyright 2023 - 2025
 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
 *
 * @note This program is distributed in the hope that it will be useful
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * @category Framework
 * @filesource
 *
 * @link https://catalyst.dock Local development URL
 *
 */

use Catalyst\Framework\Core\Argument\Argument;
use
Catalyst\Kernel;

require_once
realpath(implode(DIRECTORY_SEPARATOR, [dirname(__FILE__), '..', '..', 'vendor', 'autoload.php']));

// Bootstrap the application
$app = new Kernel();

try {
   
$app->bootstrap();

   
// Parse command line arguments
   
$args = new Argument();

   
// Register commands
    // Format: command:action => [handler class, method]
   
$commands = [];

   
// Get the command from arguments
   
$command = $args->getCommand();

    if (empty(
$command)) {
       
// List available commands if none specified
       
echo "Available commands:\n";
        foreach (
array_keys($commands) as $cmd) {
            echo
" $cmd\n";
        }
        echo
"\nUse 'php cli.php command --help' for more information on a command.\n";
        exit(
0);
    }

   
// Execute the command if registered
   
if (isset($commands[$command])) {
        [
$handlerClass, $method] = $commands[$command];
       
$handler = new $handlerClass();
       
$handler->$method($args);
    } else {
        echo
"Unknown command: $command\n";
        echo
"Use 'php cli.php' to see available commands.\n";
        exit(
1);
    }

} catch (
Exception $e) {
    echo
'Error: ' . $e->getMessage() . NL;
    exit(
1);
}