protected function initRoles($roleId, $parentRoleId) { $parentRole = $this->getMock('Zend_Acl_Role_Interface'); $parentRole->expects($this->any())->method('getRoleId')->will($this->returnValue($parentRoleId)); $role = $this->getMock('Zend_Acl_Role_Interface'); $role->expects($this->any())->method('getRoleId')->will($this->returnValue($roleId)); $this->model->add($role); $this->model->add($parentRole); return [$role, $parentRole]; }
function testDelElement() { $reg = new Registry(); $element = array("numbers" => array(1, 2, 3, 4, 5), "letters" => array("a", "b", "c", "...")); $element2 = array("foo" => "bar"); $reg->add($element); $reg->add($element2); $count = $reg->elementCount(); $reg->remove($element); $count2 = $reg->elementCount(); print "Test delete Element\n"; var_dump($count); var_dump($count2); var_dump($reg); }
public function testDelElement() { $reg = new Registry(); $element = array("numbers" => array(1, 2, 3, 4, 5), "letters" => array("a", "b", "c", "...")); $reg->add($element); $count = $reg->elementCount(); $this->assertEqual(1, $count); $reg->delete($element); $count = $reg->elementCount(); $this->assertEqual(0, $count); }
public static function getInstance($name = null) { // Get the late-static-binding version of __CLASS__ $class = get_called_class(); // Allow passing in a name to get multiple instances // If you do not pass a name, it functions as a singleton $name = !is_null($name) ?: $class; if (!Registry::contains($name)) { $instance = new $class(); Registry::add($instance, $name); } return Registry::get($name); }
/** * handlePagina Handelt de gegeven pagina af * * Deze methode controleert of de juiste invoer is gegeven en handelt de pagina verder af * Er wordt een gebruikerobject gemaakt dat de gegevens van de huidige gebruiker bevat. * @return void */ public function handlePagina() { try { // vang alle fouten af // creeer een Gebruiker object $this->m_oGebruiker = new Gebruiker(); // plaats de gebruiker in de Registry zodat andere objecten deze kunnen gebruiken Registry::add($this->m_oGebruiker, 'Bezoeker'); // creeer de inputvalidator $oValidator = InputValidator::instantiate(); $nResult = $oValidator->validate('page', InputValidator::SCOPE_GET | InputValidator::SCOPE_POST, InputValidator::TYPE_INT, true); if ($nResult == InputValidator::RESULT_OK || $nResult == InputValidator::RESULT_CONVERTABLE) { // pagina bestaat in GET of POST $nPagina = intVal($oValidator->getValue('page', InputValidator::SCOPE_GET | InputValidator::SCOPE_POST)); // maak het juiste Scherm object aan $oScherm = SchermGenerator::genereerSchermObject($nPagina); } else { // geen pagina opgegeven, ga naar homepage $oScherm = SchermGenerator::genereerSchermObject(SchermGenerator::WELKOM); } } catch (Exception $e) { // iets is fout gegaan, log uit en toon homepage if (is_object($this->m_oGebruiker)) { $this->m_oGebruiker->logout(); } // zet exception in de registry zodat de errorpage de info kan tonen Registry::add($e, 'Exception'); $oScherm = SchermGenerator::genereerSchermObject(SchermGenerator::ERRORPAGE); } if (is_object($oScherm)) { // handel eventuele input af $oScherm = $oScherm->handlePagina(); // bouw het scherm met de juiste informatie en toon het $oScherm->bouwScherm(); $oScherm->toon(); } else { // geen scherm object, heel erg fout. echo 'Er is geen scherm-object aangemaakt/of ontbreekt.'; } }
interface Log_Engine_Interface { /** * Add an event to the log * * @param string $message */ public function add(array $data); } class Log_Engine_File implements Log_Engine_Interface { /** * Add an event to the log * * @param string $message */ public function add(array $data) { $line = '[' . data('r', $data['datetime']) . '] ' . $data['message'] . ' User: '******'user'] . PHP_EOL; $config = Registry::get('site-config'); if (!file_put_contents($config['location'], $line, FILE_APPEND)) { throw new Exception("An error occurred writing to file."); } } } $engine = new Log_Engine_File(); $log = new Log(); $log->setEngine($engine); // Add it to the registry Registry::add($log);
<?php use Nmapx\Inidister\Domain\{Inidister, Registry}; require __DIR__ . '/../vendor/autoload.php'; $registry = new Registry(); $inidister = new Inidister(); $registry->add(__DIR__ . '/example.dist.ini', __DIR__ . '/example.ini'); $inidister->attach($registry)->execute();
/** * genereerSchermObject Factory methode die een scherm object van het gegeven type genereert * * @static * @param int $p_nPagina Het type van het scherm dat gegenereerd moet worden * @return Scherm Object dat is afgeleid van de Scherm klasse * @throws InvalidTypeException */ public static function genereerSchermObject($p_nPagina) { $oResult = null; try { switch ($p_nPagina) { case self::WELKOM: $oResult = new BezoekerScherm($p_nPagina, 'Welkom'); break; case self::BEHEER: $oResult = new BeheerScherm(); break; case self::INLOGGEN: $oResult = new InlogScherm(); break; case self::UITLOGGEN: $oResult = new UitlogScherm(); break; case self::VERENIGING: $oResult = new BezoekerScherm($p_nPagina, 'Vereniging'); break; case self::GESCHIEDENIS: $oResult = new BezoekerScherm($p_nPagina, 'Geschiedenis'); break; case self::BESTUUR: $oResult = new BezoekerScherm($p_nPagina, 'Bestuur'); break; case self::COMPETITIE: $oResult = new BezoekerScherm($p_nPagina, 'Competitie'); break; case self::RECREANTEN: $oResult = new BezoekerScherm($p_nPagina, 'Recreanten'); break; case self::JEUGD: $oResult = new BezoekerScherm($p_nPagina, 'Jeugd'); break; case self::NIEUWSBRIEVEN: $oResult = new BezoekerScherm($p_nPagina, 'Niewsbrieven'); break; case self::NIEUWS: $oResult = new BezoekerScherm($p_nPagina, 'Nieuws'); break; case self::AGENDA: $oResult = new BezoekerScherm($p_nPagina, 'Agenda'); break; case self::CONTACT: $oResult = new BezoekerScherm($p_nPagina, 'Contact'); break; case self::COMMISSIES: $oResult = new BezoekerScherm($p_nPagina, 'Commissies'); break; case self::NAJAARSCOMPETITIE: $oResult = new BezoekerScherm($p_nPagina, 'Najaarscompetitie'); break; case self::VOORJAARSCOMPETITIE: $oResult = new BezoekerScherm($p_nPagina, 'Voorjaarscompetitie'); break; case self::ACCOMODATIES: $oResult = new BezoekerScherm($p_nPagina, 'Accomodaties'); break; case self::WATBIEDENWIJ: $oResult = new BezoekerScherm($p_nPagina, 'Wat bieden wij'); break; case self::LEDEN_BEKIJKEN: $oResult = new LedenBekijkenScherm(); break; case self::LEDEN_BEKIJKEN: $oResult = new LedenAanpassenScherm(); break; case self::NIEUWS_BEKIJKEN: $oResult = new NieuwsBekijkenScherm(); break; case self::NIEUWS_AANPASSEN: $oResult = new NieuwsAanpassenScherm(); break; case self::ERRORPAGE: $oResult = new ErrorScherm(); break; default: throw new InvalidTypeException('Ongeldige pagina ' . $p_nPagina); } } catch (OnvoldoendeRechtenException $e) { // onvoldoende rechten om gevraagde scherm op te vragen. $oResult = new BezoekerScherm(self::ERRORPAGE, 'Onvoldoende rechten'); } catch (Exception $e) { Registry::add($e, 'Exception'); $oResult = new ErrorScherm(); } return $oResult; }
<?php $user = $argv[1]; $pass = $argv[2]; $email = $argv[3]; error_reporting(E_ALL); ini_set("display_errors", 1); define("APP_ROOT", __DIR__ . "/.."); require_once __DIR__ . "/../Classes/Autoloader.php"; $config = new \Config("config"); $db = new \Database($config->database); Registry::add("config", $config); Registry::add("db", $db); $admin = new \Model\Admin(); $admin->username = $user; $admin->password = crypt($pass); $admin->email = $email; $admin->write();
/** * Default constructor, any custom constructors must also implement this using Delegate interface * @param callable $callback * @param array|null $context */ public function __construct(callable $callback, array $context = []) { Registry::add($this, $callback, $context); }