PHP-Cookbook-chapter4

程式

//'4.1'使用檔案常數
$session_name = $session_txt['4.1'];
echo $session_name."<br>";

//require_once 'DB.php';

function ferror( $file,
				 $line,
				 $message = 'General Error'){
	$errmsg = "There was an error in script $file,on $line :$message \n";
	error_log($errmsg);
	die ('An error occurred, it has been logged in the system log');
				 }

//$dbh = DB::connect("mysql://user:secret@localhost/dbname");
//if (!$dbh){
	//$dbh = @ferror(__FILE__,__LINE__,sprintf('[%d]:%s'),
	//$dbh->getCode(),$dbh->getMessage());
//}
	
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
   此函式,它從使用者端接受參數\$file、\$line、和\$message,並<br>
   經過格式美化之後印出,使結果較容易閱讀。我們也為\$message指定<br>
   一個預設值,以便可以忽叫此函式時省略\$message這個參數。
<br>
</fieldset>
";
echo $message."<br>";
//'4.2'PHP的作業系統和版本常數
$session_name = $session_txt['4.2'];
echo $session_name."<br>";

switch (PHP_OS){
	case "WIN32";
		//win32_function();
		break;
	case "Linux";
		//linux_function();
		break;
	case "OS/2";
		//os2_function();
		break;
}

//error_reporting(E_WARNING);
//PHP_OS ="Linux";
if (!defined(PHP_OS)){
	//die ("OS Detection cannot be done automatically");
}
		
	
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
   當你想寫出一個大小通吃的程式而又不知道作業系統版本時就很有用。
<br>
</fieldset>
";
echo $message."<br>";
//'4.3'用PHP的錯誤常數設定中斷點
$session_name = $session_txt['4.3'];
echo $session_name."<br>";

error_reporting(E_WARNING);
$line = "The \nQuick \nYoung \nProgrammer \nJumped \nOver \nThe
         \nLazy \nOld \nProgrammer";
$line = ereg_replace ("(\n"," ",$line);//mis-matched parentheses
print $line."<br>";


$message="
<fieldset><legend><font color=red>TIPS</font></legend>
   在程式裡,ereg_replace(),第一個參數的常規表示少了一個小括號<br>
   。通常PHP不會回報這個錯誤,但因為我們透過error_reporting()<br>
   呼叫PHP回報常規表示的錯誤,所以現在就會收到錯誤的回報。
<br>
</fieldset>
";
echo $message."<br>";
//'4.4'定義自己的PHP常數
$session_name = $session_txt['4.4'];
echo $session_name."<br>";

define ("HI","Hello World");
print HI."<br>";

/*
function four (){
	return 4;
}
define ("HI","four()");
print HI;
*/

if (!defined ("FIVE"))
	@defined ("FIVE","five");
else
	return;

print FIVE;



$message="
<fieldset><legend><font color=red>TIPS</font></legend>
   此程式用defined()函式定義HI為Hello World。
</fieldset>
";
echo $message."<br>";
/'4.5'PHP的全域變數
$session_name = $session_txt['4.5'];
echo $session_name."<br>";
unset ($message);

reset ($GLOBALS);
while (list($key,$var) = each ($GLOBALS)){
	print "$key =>$var \n<br>\n";
}



$message="
<fieldset><legend><font color=red>TIPS</font></legend>
  此範例使用PHP的list()和each()函式來處理\$GLOBALS陣列。
</fieldset>
";
echo $message."<br>";