A super easy PHP Framework for web development!
				https://github.com/exacti/phacil-framework
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							86 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							86 lines
						
					
					
						
							1.5 KiB
						
					
					
				<?php
 | 
						|
/*
 | 
						|
 * Copyright © 2021 ExacTI Technology Solutions. All rights reserved.
 | 
						|
 * GPLv3 General License.
 | 
						|
 * https://exacti.com.br
 | 
						|
 * Phacil PHP Framework - https://github.com/exacti/phacil-framework
 | 
						|
 */
 | 
						|
 | 
						|
namespace Phacil\Framework;
 | 
						|
 | 
						|
use Phacil\Framework\Registry;
 | 
						|
 | 
						|
/** 
 | 
						|
 * Abstract class for helpers
 | 
						|
 * 
 | 
						|
 * @package Phacil\Framework 
 | 
						|
 * @abstract
 | 
						|
 * @api
 | 
						|
 */
 | 
						|
abstract class AbstractHelper implements \Phacil\Framework\Interfaces\Helper {
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * 
 | 
						|
	 * @var Registry
 | 
						|
	 */
 | 
						|
	protected $registry;
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * @param Registry $registry 
 | 
						|
	 * @return void 
 | 
						|
	 */
 | 
						|
	public function __construct(Registry $registry = NULL) {
 | 
						|
		if (!$registry) {
 | 
						|
			/**
 | 
						|
			 * @var \Phacil\Framework\Registry
 | 
						|
			 */
 | 
						|
			$registry = \Phacil\Framework\Registry::getInstance();
 | 
						|
		}
 | 
						|
		$this->registry = &$registry;
 | 
						|
	}
 | 
						|
 | 
						|
	/** @return void  */
 | 
						|
	private function __getRegistryClass()
 | 
						|
	{
 | 
						|
		$this->registry = \Phacil\Framework\startEngineExacTI::getRegistry();
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * 
 | 
						|
	 * {@inheritdoc}
 | 
						|
	 */
 | 
						|
	static public function getInstance()
 | 
						|
	{
 | 
						|
		$class = get_called_class();
 | 
						|
		return \Phacil\Framework\Registry::getAutoInstance((new $class()));
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * 
 | 
						|
	 * @param mixed $key 
 | 
						|
	 * @return mixed 
 | 
						|
	 */
 | 
						|
	public function __get($key)
 | 
						|
	{
 | 
						|
		if (!$this->registry) {
 | 
						|
			$this->__getRegistryClass();
 | 
						|
		}
 | 
						|
 | 
						|
		return $this->registry->get($key);
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * 
 | 
						|
	 * @param mixed $key 
 | 
						|
	 * @param mixed $value 
 | 
						|
	 * @return void 
 | 
						|
	 */
 | 
						|
	public function __set($key, $value)
 | 
						|
	{
 | 
						|
		if (!$this->registry) {
 | 
						|
			$this->__getRegistryClass();
 | 
						|
		}
 | 
						|
 | 
						|
		$this->registry->set($key, $value);
 | 
						|
	}
 | 
						|
}
 | 
						|
 |