Currently I am using Symfony console for my terminal apps but I found Laravel artisan console has a lot of features out of the box that I can use. Is there a version of Laravel that has no other command used for developing web apps? or at least to remove default available commands that are registered when you install Laravel?
I've just got this working using illuminate/console
:
composer.json
:{
"require": {
"illuminate/console": "^5.4",
"illuminate/container": "^5.4",
"illuminate/events": "^5.4"
},
"autoload": {
"psr-4": {"Yourvendor\\Yourproject\\": "src/"}
}
}
your-console-app
(replacement for artisan
):#!/usr/bin/env php
<?php
use Illuminate\Console\Application;
use Illuminate\Container\Container;
use Illuminate\Events\Dispatcher;
use Yourvendor\Yourproject\Console\Commands\Yourcommand;
if (file_exists($a = __DIR__.'/../../autoload.php')) {
require_once $a;
} else {
require_once __DIR__.'/vendor/autoload.php';
}
$container = new Container;
$dispatcher = new Dispatcher;
$version = "5.4"; // Laravel version
$app = new Application($container, $dispatcher, $version);
$app->add(new Yourcommand);
$app->run();
src/Console/Commands/Yourcommand.php
:<?php
namespace Yourvendor\Yourproject\Console\Commands;
use Illuminate\Console\Command;
class Yourcommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'yourcommand:test {test}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Yourcommand test';
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->info('Hello world!');
}
}
Run the console command using:
php your-console-app yourcommand:test
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With