Leadtech/BootFramework

View on GitHub
examples/basic/script

Summary

Maintainability
Test Coverage
#!/usr/bin/env php
<?php

// Autoload packages
require_once __DIR__ . '/../../vendor/autoload.php';

// Alias symfony console application
use Symfony\Component\Console\Application as ConsoleApplication;
use Symfony\Component\ClassLoader\Psr4ClassLoader;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Input\InputOption;


// Register autoloader (in your own product use the autoloader that ships with composer, this is just for demo purposes)
$loader = new Psr4ClassLoader();
$loader->addPrefix('SomePackage\\', __DIR__ . '/src/SomePackage');
$loader->register();

// Get project dir
$projectDir = realpath(__DIR__ . '/..');


// Build application
$app = (new \Boot\Builder($projectDir))
    ->appName('SomeBasicApplication')
    ->optimize('cache')
    ->configDir('resources/config')
    ->parameter('project_dir', $projectDir)
    ->build()
;

/** @var \SomePackage\SomeClass $service */
$service = $app->get('some_service');

// Should print success message to the screen:
$service->doSomething();