Location: PHPKode > projects > tinyPHP > tinyPHP-master/tinyPHP/Classes/Core/Extension.php
<?php namespace tinyPHP\Classes\Core;
/**
 *
 * Extension Helpers
 *  
 * PHP 5
 *
 * tinyPHP(tm) : Simple & Lightweight MVC Framework (http://tinyphp.us/)
 * Copyright 2012, 7 Media Web Solutions, LLC (http://www.7mediaws.org/)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright Copyright 2012, 7 Media Web Solutions, LLC (http://www.7mediaws.org/)
 * @link http://tinyphp.us/ tinyPHP(tm) Project
 * @since tinyPHP(tm) v 0.1
 * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
 */

if ( ! defined('BASE_PATH') ) exit('No direct script access allowed');

class Extension {
	
	/**
	 * List of paths to load helpers from
	 *
	 * @var array
	 */
	protected $helper_paths =	array();
	
	/**
	 * List of loaded helpers
	 *
	 * @var array
	 */
	protected $helpers = array();
	
	public function __construct() {}
	
	/**
	 * Load Helper
	 *
	 * This function loads the specified helper file.
	 *
	 * @param mixed
	 * @return void
	*/
	public function helper($helpers = array()) {
		foreach ($this->prep_filename($helpers, '_helper') as $helper) {
			if(isset($this->helpers[$helper])) {
				continue;
			}
	
			$ext_helper = APP_PATH . 'Helpers/ext_'.$helper.'.php';
			$base_helper = SYS_PATH . 'Helpers/'.$helper.'.php';
	
			// Is this a helper extension request?
			if (file_exists($ext_helper)) {
			
				if ( !file_exists($ext_helper)) {
					echo 'Unable to load the requested file: ' . APP_PATH . 'Helpers/ext_'.$helper.'.php';
				}
		
				include_once($ext_helper);
			
				$this->helpers[$helper] = TRUE;
					continue;
			} else
			// Is this a base helper request?
			if (file_exists($base_helper)) {
				if ( !file_exists($base_helper)) {
					echo 'Unable to load the requested file: ' . SYS_PATH . 'Helpers/'.$helper.'.php';
				}
				
				include_once($base_helper);
			
				$this->helpers[$helper] = TRUE;
					continue;
			} 
				
	
			// Try to load the helper
			foreach ($this->helper_paths as $path) {
				if (file_exists($path.'Helpers/'.$helper.'.php')) {
				include_once($path.'Helpers/'.$helper.'.php');
				
				$this->helpers[$helper] = TRUE;
				break;
				}
			}
	
			// unable to load the helper
			if ( !isset($this->helpers[$helper])) {
			echo 'Unable to load the requested file: ' . SYS_PATH . 'Helpers/'.$helper.'.php';
			}
		}
	}
	
	// --------------------------------------------------------------------
	
	/**
	* Load Helpers
	*
	* This is simply an alias to the above function in case the
	* user has written the plural form of this function.
	*
	* @param array
	* @return void
	*/
	public function helpers($helpers = array()) {
		$this->helper($helpers);
	}
	
	/**
	 * Prep filename
	 *
	 * This function preps the name of various items to make loading them more reliable.
	 *
	 * @param mixed
	 * @param string
	 * @return array
	 */
	protected function prep_filename($filename, $extension) {
		if ( ! is_array($filename)) {
			return array(strtolower(str_replace(array($extension, '.php'), '', $filename).$extension));
		} else {
			foreach ($filename as $key => $val) {
			$filename[$key] = strtolower(str_replace(array($extension, '.php'), '', $val).$extension);
		}
		
		return $filename;
		}
	}
	
}
Return current item: tinyPHP