#!/usr/bin/env php
<?php

require __DIR__ . '/vendor/autoload.php';

use BapCat\Facade\FacadeRegistry;
use BapCat\Interfaces\Ioc\Ioc;
use BapCat\Persist\Drivers\Local\LocalDriver;
use BapCat\Phi\Phi;
use BapCat\Values\ClassName;

$ioc = Phi::instance();

// Grab filesystem directories
$persist = new LocalDriver(__DIR__);
$cache   = $persist->getDirectory('/cache');

$facade = $ioc->make(FacadeRegistry::class, [$cache]);

class Test {
  const HELLO = 'hello';
  
  /**
   * @return  void
   */
  public function hello() {
    echo self::HELLO . "\n";
  }
}

$facade->register('HelloFacade', Test::class);

HelloFacade::hello();
var_dump(HelloFacade::HELLO);

//TODO
    // Temporary workaround; nom grabs onto the first end parenthesis
