php console application package(beta)
#Installation require php >= 5.4
$ composer create-project iono/console your-projectName dev-master --prefer-dist#Usage ##Ioc Container illuminate/container
###auto provider use @Component annotation
namespace App\Providers;
use Iono\Console\Application\Provider;
use Iono\Console\Application\Annotation\Component;
/**
* Class ApplicationProvider
* @package App\Console\Providers
* @Component
*/
class ApplicationProvider extends Provider
{
/**
* register application container binding
* @return void
*/
public function register()
{
$this->container->bind("App\Repositories\RepositoryInterface", "App\Repositories\User");
}
}##component trait default component
// database component
'db' => "\\Iono\\Console\\Application\\Component\\DataStorage\\Db",
// cache component
'cache' => "\\Iono\\Console\\Application\\Component\\Cache\\Factory",
// redis component
'redis' => "\\Iono\\Console\\Application\\Component\\DataStorage\\Redis",###usage your class
namespace App\Repositories;
use Iono\Console\Application\Traits\Component;
/**
* Class User
* @package App\Repositories
*/
class User
{
use Component;
/**
* @return mixed
*/
public function getDbComponent()
{
// use db component
return $this->db->connection();
}
} component auto inject
##perform console ###console action basic
$ php iono console:action samplearguments
$ php iono console:action sample?value=1$key=2###action command list
$ php iono console:listshow command list(command name, class name, file path, description)
and more