* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * @category MF * @package MF_Debug * @copyright Copyright (c) 2008-2010 Stuart Herbert. * @license http://www.opensource.org/licenses/bsd-license.php Simplified BSD License * @version 0.1 * @link http://framework.methodosity.com */ __mf_init_module('FirePHP'); class MF_Debug_Manager { /** * The object to use to log debugging messages * * @var Debug_Logger */ public $log = null; /** * The object to use to track where the app spends its time * * @var Debug_Timer */ public $timer = null; /**
{ static $loadedModules = array(); // have we loaded this module before? if (isset($loadedModules[$module])) { // yes we have - bail return; } $filename = APP_LIBDIR . '/MF/' . $module . '/_init/' . $module . '.inc.php'; $loadedModules[$module] = $filename; require $filename; } function __mf_require_once($file) { static $loadedFiles = array(); if (isset($loadedFiles[$file])) { return; } $loadedFiles[$file] = $file; __mf_require($file); } function __mf_require($file) { $filename = APP_LIBDIR . '/' . $file; require $filename; } // minimal bootstrap for things to work __mf_init_module('Obj'); __mf_init_module('PHP'); __mf_init_module('Language'); //__mf_init_module('App'); // MF_App::$debug->timer->markEvent('Framework bootstrapped');
define('APP_TESTDIR', APP_TOPDIR . '/tests/library'); // step 2: setup the autoload functionality function __app_require($classname, $fileToLoad = null) { if (class_exists($classname) || interface_exists($classname)) { return false; } if ($fileToLoad === null) { $fileToLoad = APP_LIBDIR . '/' . str_replace('_', '/', $classname . '.php'); } require $fileToLoad; } spl_autoload_register('__app_require'); // step 3: load the MF include file require_once APP_LIBDIR . '/MF/mf.inc.php'; __mf_init_module('App'); // step 4: helpers for loading test files function __mf_init_tests($module) { static $loadedFiles = array(); if (isset($loadedFiles[$module])) { return; } $filename = 'MF/' . $module . '/_init/' . $module . '.inc.php'; $loadedFiles[$module] = $filename; __mf_require_tests($filename); } function __mf_require_tests($file) { $filename = APP_TESTDIR . '/' . $file; require $filename;
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * @category MF * @package MF_PHP * @copyright Copyright (c) 2008-2010 Stuart Herbert. * @license http://www.opensource.org/licenses/bsd-license.php Simplified BSD License * @version 0.1 * @link http://framework.methodosity.com */ __mf_init_module('PHP'); /** * @category MF * @package MF_PHP */ class MF_PHP_ArrayWrapper implements ArrayAccess, Iterator { protected $__data = array(); protected $__keys = array(); protected $__index = 0; public function __construct(&$__data = null) { if ($__data != null) { constraint_mustBeArray($__data); $this->__data =& $__data; $this->rewind();