Darunada / external_artisan by darunada
forked from dosjein/external_artisan

External Artisan provides artisan tools for non-laravel projects
11
1
2
Package Data
Maintainer Username: darunada
Maintainer Contact: sovas@dosje.in (Ronalds Sovas)
Package Create Date: 2016-10-18
Package Last Update: 2017-03-01
Home Page:
Language: PHP
License: BSD-3-Clause
Last Refreshed: 2024-04-15 15:16:57
Package Statistics
Total Downloads: 11
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

External Artisan

Forked from dosjein/external_artisan and made usable.

Artisan the task runner in Laravel. This library makes it easy to use artisan commands in your own projects.

Installation with Composer

curl -s http://getcomposer.org/installer | php
php composer.phar require darunada/external-artisan
{
  "require": {
    "darunada/external-arisan":"dev-master"
  }
}

Usage

####Installation To use this library, copy the ./artisan file to your project root.

####Usage

  • $ php artisan list will display a list of available commands.
  • $ php artisan help [command] will display help text for the command

The Artisan Page for Laravel 5.3 may present you with some options of how to use this library.

####Creating Commands By default I put my commands in ./commands. You can override the path to commands in the artisan file.

Any available commands need to be registered with Artisan. This is done in Darunada\Console\ArtisanKernel and will load a config.php file located in your commands folder.

To autoload all classes in the commands file, add the following to your composer.json

{
  "autoload": {
    "classmap": [
      "commands"
    ]
  }
}

Service Injection

Service injection doesn't work. Instead, a Pimple Container is passed into the Command constructor with the things you might need.

I will add services to this list as I need them. Or, feel free to add your own. You can also instantiate them yourself inside your commands.

  • $container['filesystem'] is an Illuminate\Filesystem\Filesystem
  • $container['database'] is a Medoo\Medoo Documentation I don't really love it, though

These services are provided in \Darunada\Console\InitArtisan

/** @var Medoo */
private $database;

public function __construct($container)
{
    parent::__construct();
    $this->database = $container['database'];
}

##Todo

  • Test??