0.0.1 • Published 6 years ago

ppse-vendor-php v0.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
6 years ago

##Framework, PHP, Vendor, Composer, Route, Autoload

php-project/composer.json

{
    "autoload": {
        "psr-4": {
            "Route\\": "route/"
        }
    }
}

CMD Bash (Command Prompt)

cd php-project
composer dump-autoload

php-project/vendor/index.php

<?php
require_once('autoload.php');

class Route
{
	public function get($req='/')
	{
		var_dump($_GET);
	}
	public function post($req='/')
	{
		var_dump($_POST);
	}
}

include_once(dirname(__DIR__).'/route/ppse.php');

?>

php-project/route/ppse.php

<?php

Route::get();
Route::post();

?>

php-project/ppse

<?php
$help='This is help !

php ppse serve : run server http://localhost:8000
php ppse serve=4000 : run server http://localhost:4000

php ppse host=127.0.0.1:5000 : run server http://127.0.0.1:5000
';
if ($_SERVER['argc'] > 1) {
	for ($commandLineIndex=1; $commandLineIndex < $_SERVER['argc']; $commandLineIndex++) {
		$commandLineArgument = explode('=', $_SERVER['argv'][$commandLineIndex]);
		$commandLineArgumentKey = array_shift($commandLineArgument);
		$commandLineArgumentValue = implode('=', $commandLineArgument);
		function CheckValue($value='')
			{
				if ($value==''||$value==' '||$value==null||$value==false) {
					return false;
				}else{
					return $value;
				}
			}

		switch($commandLineArgumentKey) {
			case 'serve' :
					exec('php -S localhost:'.(CheckValue($commandLineArgumentValue)?CheckValue($commandLineArgumentValue):'8000').' vendor/index.php');
					break;
			case 'host' :
					exec('php -S '.(CheckValue($commandLineArgumentValue)?CheckValue($commandLineArgumentValue):'localhost:8000').' vendor/index.php');
					break;
			case '-h' :
					echo $help;
					break;
			case '--help' :
					echo $help;
					break;
			case 'date' :
					echo exec('date');
					break;
			default :
					echo 'Use -h or --help for help';
					break;
		}
	}
}else{
	echo 'Use -h or --help for help';
}
?>

CMD Bash (Command Prompt)

cd php-project
php ppse serve

Browser

http://localhost:8000
0.0.1

6 years ago