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.
		
		
		
		
			
				
					80 lines
				
				1.7 KiB
			
		
		
			
		
	
	
					80 lines
				
				1.7 KiB
			| 
								 
											2 years ago
										 
									 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Copyright © 2023 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\ArrayClass\Aux; 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								abstract class ModernAux
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									protected $_container = array();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Assigns a value to the specified offset
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * @param string $offset The offset to assign the value to
							 | 
						||
| 
								 | 
							
									 * @param mixed  $value The value to set
							 | 
						||
| 
								 | 
							
									 * @access public
							 | 
						||
| 
								 | 
							
									 * @abstracting ArrayAccess
							 | 
						||
| 
								 | 
							
									 * 
							 | 
						||
| 
								 | 
							
									 * @return void
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									public function offsetSet($offset, $value): void
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										if (is_string($offset)) $offset = strtolower($offset);
							 | 
						||
| 
								 | 
							
										if (is_null($offset)) {
							 | 
						||
| 
								 | 
							
											$this->_container[] = $value;
							 | 
						||
| 
								 | 
							
										} else {
							 | 
						||
| 
								 | 
							
											$this->_container[$offset] = $value;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Whether or not an offset exists
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * @param string $offset An offset to check for
							 | 
						||
| 
								 | 
							
									 * @access public
							 | 
						||
| 
								 | 
							
									 * @return bool
							 | 
						||
| 
								 | 
							
									 * @abstracting ArrayAccess
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									public function offsetExists($offset): bool
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										if (is_string($offset)) $offset = strtolower($offset);
							 | 
						||
| 
								 | 
							
										return isset($this->_container[$offset]);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Unsets an offset
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * @param string $offset The offset to unset
							 | 
						||
| 
								 | 
							
									 * @access public
							 | 
						||
| 
								 | 
							
									 * @abstracting ArrayAccess
							 | 
						||
| 
								 | 
							
									 * 
							 | 
						||
| 
								 | 
							
									 * @return void
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									public function offsetUnset($offset): void
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										if (is_string($offset)) $offset = strtolower($offset);
							 | 
						||
| 
								 | 
							
										unset($this->_container[$offset]);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Returns the value at specified offset
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * @param string $offset The offset to retrieve
							 | 
						||
| 
								 | 
							
									 * @access public
							 | 
						||
| 
								 | 
							
									 * @return mixed
							 | 
						||
| 
								 | 
							
									 * @abstracting ArrayAccess
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									public function offsetGet($offset): mixed
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										if (is_string($offset)) $offset = strtolower($offset);
							 | 
						||
| 
								 | 
							
										return isset($this->_container[$offset])
							 | 
						||
| 
								 | 
							
											? $this->_container[$offset]
							 | 
						||
| 
								 | 
							
											: null;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |