| 
<?php/**
 * Copyright (c) 2016 Jorge Patricio Castro Castillo MIT License.
 */
 include "../lib/BladeOne.php";
 use eftec\bladeone\BladeOne;
 
 $views = __DIR__ . '/views';
 $compiledFolder = __DIR__ . '/compiled';
 $blade=new BladeOne($views,$compiledFolder,BladeOne::MODE_SLOW);
 
 
 
 //<editor-fold desc="Authentication example">
 
 
 // This new lines are optional. Blade has build in validations by default. However, you can personaliza your own authentication.
 $blade->setCanFunction(function($action,$subject=null) {
 global $blade;
 if ($subject=='noallowed') return false;
 return in_array($action,$blade->currentPermission);
 });
 
 $blade->setAnyFunction(function($array) {
 global $blade;
 foreach($array as $permission) {
 if (in_array($permission,$blade->currentPermission)) return true;
 }
 return false;
 });
 
 //</editor-fold>
 
 
 $blade->setAuth("john","admin",['edit','delete']);
 try {
 echo $blade->run("Test2.auth", ['title'=>'Testing an user that is administrator. He could edit,delete and has the role of administrator']);
 } catch (Exception $e) {
 echo "error found ".$e->getMessage()."<br>".$e->getTraceAsString();
 }
 
 $blade->setAuth("mary","user",['view']);
 try {
 echo $blade->run("Test2.auth", ['title'=>'Testing an user that is a normal user. She could only view and has the role of user']);
 } catch (Exception $e) {
 echo "error found ".$e->getMessage()."<br>".$e->getTraceAsString();
 }
 
 $blade->setAuth(null);
 try {
 echo $blade->run("Test2.auth", ['title'=>'Testing an user that is anonymous.']);
 } catch (Exception $e) {
 echo "error found ".$e->getMessage()."<br>".$e->getTraceAsString();
 }
 |