A simple PHP client library for Asink.
$ asink server
[asink] listening on :3000
Install package via composer
"require": {
"asink/asink-php": "dev-master"
}
Add the service provider in app/config/app.php
'providers' => [
'Asink\Component\AsinkServiceProvider'
];
And you can also add the Facade if you'd like
'aliases' => [
'Asink' => 'Asink\Component\AsinkFacade'
];
With Asink installed and running, in Laravel you can run command like so:
<?php
Route::get('/asink-test', function() {
Asink::addTask('make-directory', array(
"command" => "mkdir",
"args" => [
"my-dir-1",
"my-dir-2"
]
));
Asink::start();
});
<?php
require("vendor/autoload.php");
$client = new Asink\Component\Client();
$client->addTask("make-directory", array(
"command" => "mkdir",
"args" => [
"my-dir-1",
"my-dir-2"
]
));
$client->start();
There are various options and things you can do in terms of organising your commands and in which way they are ran. Here are the docs for Asink which show what options can be used.
$client->addTask("do-ls", array(
"command" => "mkdir", // The root command
"args" => [ // Add command arguments as an array
"my-dir-1",
"my-dir-2"
],
"count" => [1, 1], // How many times do we want to run it?
"dir" => "~", // Which directory should it be ran in?
"group" => "stuff", // Should it be ran as part of a group?
"require" => "do-ls" // Do we require anything to run first?
));
$client->addTask("do-ls", array(
"command" => "ls"
));
$client->start();