فهرست منبع

Added assertion of constant existance.

Taddeus Kroes 14 سال پیش
والد
کامیت
bc5247fddf
3فایلهای تغییر یافته به همراه22 افزوده شده و 7 حذف شده
  1. 21 1
      pquery.php
  2. 0 5
      test/config.php
  3. 1 1
      test/index.php

+ 21 - 1
pquery.php

@@ -273,10 +273,28 @@ class pQuery {
 			include_once $path;
 		}
 	}
+	
+	/**
+	 * Assert that the given constants have been defined. Add the prefix 'PQUERY_' to each constant name.
+	 */
+	static function assert_defined(/* $constant1 [ , $constant2, ... ] */) {
+		$constants = func_get_args();
+		$undefined = array();
+		
+		foreach( $constants as $constant ) {
+			$constant = 'PQUERY_'.$constant;
+			
+			if( !defined($constant) )
+				$undefined[] = $constant;
+		}
+		
+		count($undefined) && self::error('The following constants have'
+			.' not been defined: %s', implode(', ', $undefined));
+	}
 }
 
 /**
- * Exception class for error throwing
+ * Exception class for error throwing.
  */
 class pQueryException extends Exception {
 	
@@ -330,5 +348,7 @@ class_alias('pQuery', '__p');
  * Set the exception handler
  */
 set_exception_handler('__p::exception_handler');
+
+__p::assert_defined('DEBUG', 'ROOT');
  
 ?>

+ 0 - 5
test/config.php

@@ -1,9 +1,4 @@
 <?php
-/**
- * Base and plugin config for pQuery utility framework.
- * 
- * @package pQuery
- */
 
 /**
  * Indicates whether the framework is in debug mode, which right

+ 1 - 1
test/index.php

@@ -2,7 +2,7 @@
 
 include_once '../../simpletest/autorun.php';
 include_once 'config.php';
-include_once PQUERY_ROOT.'pquery.php';
+include_once '../pquery.php';
 
 function is_test_file($filename) {
 	return preg_match('/^test_\w+\.php$/', $filename);