1. Go to this page and download the library: Download brick/app 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/ */
brick / app example snippets
use Brick\App\Application;
::create();
$application->run();
namespace MyApp\Controller;
use Brick\Http\Response;
class IndexController
{
public function indexAction()
{
return new Response('This is the index page.');
}
public function helloAction()
{
return new Response('Hello, world');
}
}
use Brick\App\Route\SimpleRoute;
$route = new SimpleRoute([
'/' => MyApp\Controller\IndexController::class,
]);
$application->addRoute($route);
public function helloAction(Request $request)
{
return new Response('Hello, ' . $request->getQuery('name'));
}
use Brick\App\Plugin\RequestParamPlugin;
$plugin = new RequestParamPlugin();
$application->addPlugin($plugin);
namespace MyApp\Controller;
use Brick\App\Controller\Attribute\QueryParam;
use Brick\Http\Response;
class Index
{
#[QueryParam('name')]
public function helloAction(string $name)
{
return new Response('Hello, ' . $name);
}
}
interface Plugin
{
public function register(EventDispatcher $dispatcher) : void;
}
use Brick\App\Event\ControllerReadyEvent;
use Brick\App\Event\ControllerInvocatedEvent;
use Brick\App\Plugin;
use Brick\Event\EventDispatcher;
class TransactionPlugin implements Plugin
{
private $pdo;
public function __construct(\PDO $pdo)
{
$this->pdo = $pdo;
}
public function register(EventDispatcher $dispatcher) : void
{
$dispatcher->addListener(ControllerReadyEvent::class, function() {
$this->pdo->beginTransaction();
});
$dispatcher->addListener(ControllerInvocatedEvent::class, function() {
$this->pdo->commit();
});
}
}
$pdo = new PDO(/* insert parameters to connect to your database */);
$plugin = new TransactionPlugin($pdo);
$application->addPlugin($plugin);
use Brick\App\Session\CookieSession;
use Brick\App\Plugin\SessionPlugin;
$session = new CookieSession();
$app->addPlugin(new SessionPlugin($session));
use Brick\DI\Container;
use Brick\App\Application;
use Brick\App\Session\CookieSession;
use Brick\App\Session\Session;
use Brick\App\Plugin\SessionPlugin;
// Create a DI container, and use it with our app
$container = Container::create();
$app = Application::create($container);
// Create a session, add the session plugin to our app
$session = new CookieSession();
$app->addPlugin(new SessionPlugin($session));
// Instruct the DI container to resolve the Session object
$container->set(Session::class, $session);
public function indexAction(Request $request, Session $session)
{
$userId = $session->get('user-id');
// ...
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.