PHP code example of kistn / php-client
1. Go to this page and download the library: Download kistn/php-client library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kistn / php-client example snippets
return [
'base_url' => 'https://your-server.example',
'project_id' => 'your-project-uuid-here',
'token' => 'your-api-token-here',
'transmit_composer_files' => false, // false (default) | true | 'on-demand'
'transmit_npm_files' => false, // false (default) | true | 'on-demand'
];
use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\Psr7\HttpFactory;
use Kistn\Cache\LocalHashCache;
use Kistn\Client\InventoryClient;
use Kistn\Collector\ComposerCollector;
use Kistn\Collector\NpmCollector;
use Kistn\Config;
use Kistn\InventoryPusher;
use Kistn\Process\ShellProcessRunner;
$config = Config::load(__DIR__ . '/kistn.config.php');
$factory = new HttpFactory();
$client = new InventoryClient(
baseUrl: $config->baseUrl(),
projectId: $config->projectId(),
token: $config->token(),
httpClient: new GuzzleClient(),
requestFactory: $factory,
streamFactory: $factory,
);
$runner = new ShellProcessRunner();
$pusher = new InventoryPusher(
client: $client,
collectors: [
new ComposerCollector(
lockFilePath: __DIR__ . '/composer.lock',
composerJsonPath: __DIR__ . '/composer.json',
runner: $runner,
installedJsonPath: __DIR__ . '/vendor/composer/installed.json', // preferred when present
),
new NpmCollector(
lockFilePath: __DIR__ . '/package-lock.json',
packageJsonPath: __DIR__ . '/package.json',
runner: $runner,
),
],
cache: new LocalHashCache(__DIR__ . '/.inventory.hash'),
transmitComposerFiles: $config->transmitComposerFiles(),
transmitNpmFiles: $config->transmitNpmFiles(),
);
$pusher->pushAll();
bash
composer