PHP code example of battis / user-session

1. Go to this page and download the library: Download battis/user-session 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/ */

    

battis / user-session example snippets


/** @var DI\ContainerBuilder $containerBuilder */
$containerBuilder->addDefinitions(
  Battis\UserSession\Dependencies::definitions()
);

namespace Example;

class UserEntity implements Battis\UserSession\Entities\UserEntityInterface
{
  public function getIdentifier(): string
  {
    // ...
  }

  public function passwordVerify(string $password): bool
  {
    // ...
  }
}



namespace Example;

class UserRepository implements Battis\UserSession\Repositories\UserRepositoryInterface
{
  public function getUserEntityByUsername(
    // ...
  }
}

/** @var DI\ContainerBuilder $containerBuilder */
$containerBuilder->addDefinitions([
  Battis\UserSession\Repositories\UserRepositoryInterface::class => fn() => new Example\UserRepository(),
]);

/** @var Slim\App $app */
$app->group(
  Battis\UserSession\Controller::ENDPOINT,
  Battis\UserSession\Controller::class
);

/** @var Slim\App $app */
$app
  ->get('/home', Example\PageRenderer::class)
  ->add(Battis\UserSession\Middleware\Session::class);

/** @var Slim\App $app */
$app
  ->get('/protected', Example\PageRenderer::class)
  ->add(Battis\UserSession\Middleware\RequireAuthentication::class);