Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a version of laravel for console app only? [closed]

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?

like image 457
doyevaristo Avatar asked Apr 26 '17 00:04

doyevaristo


1 Answers

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

like image 176
ilumos Avatar answered Oct 13 '22 12:10

ilumos