1. Go to this page and download the library: Download oasis/slimapp 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/ */
oasis / slimapp example snippets
use Minhao\TestProject\TestProject;
use Minhao\TestProject\TestProjectConfiguration;
pp->init(__DIR__ . "/config", new TestProjectConfiguration(), __DIR__ . "/cache/config");
return $app;
use Oasis\SlimApp\SlimApp;
use Oasis\Mlib\Utils\DataProviderInterface;
/** @var SlimApp $app */
$isDebug = $app->getMandatoryConfig('is_debug', DataProviderInterface::BOOL_TYPE);
$logDir = $app->getMandatoryConfig('dir.log', DataProviderInterface::STRING_TYPE);
$nonExistingConfig = $app->getMandatoryConfig('non_existing_config'); // will throw
$port = $app->getOptionalConfig('db.port', DataProviderInterface::INT_TYPE, 3306);
$nonExistingConfig = $app->getOptionalConfig('non_existing_config'); // will return null
use Oasis\SlimApp\SlimApp;
use Oasis\Mlib\Utils\DataProviderInterface;
/** @var SlimApp $app */
$isDebug = $app->getParameter('app.is_debug');
$dbPort = $app->getParameter('app.db.port');
$nonExistingConfig = $app->getParameter('app.non_existing_config'); // will throw
use Minhao\TestProject\TestProject;
/** @var TestProject $app */
$app =
use Minhao\TestProject\TestProject;
/** @var TestProject $app */
$app = new MyCustomCommandOne(),
new MyCustomCommandTwo(),
]
);
$console->run();
namespace Minhao\TestProject\Console\Commands;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class MyCustomCommandOne extends Command
{
protected function configure()
{
parent::configure();
$this->setName('custom:command:one')
->setDescription("Say hello world!");
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$output->writeln("Hello World!");
}
}
// namespace imports omitted ...
class MyCustomCommandOne extends Command
{
protected function configure()
{
parent::configure();
$this->setName('custom:command:one')
->setDescription("Say hello world!");
$this->addArgument(
'name',
InputArgument::REQUIRED,
"give your name here"
);
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$name = $input->getArgument('name');
$output->writeln('Hello, ' . $name . '!');
}
}