<?php
function backtrace_str(){
$str = '';
$w = 0;
$backtrace = debug_backtrace();
foreach($backtrace as $arr){
$str .= $w."\n";
$w++;
foreach($arr as $key=>$val){
$str .=$key.'=>'.$val."\n";
}
}
return $str;
}


 

 

 w

 

http://php.net/manual/en/language.oop5.final.php

PHP 5 introduces the final keyword, which prevents child classes from overriding a method by prefixing the definition with final. If the class itself is being defined final then it cannot be extended.

 

 

http://php.net/manual/zh/language.oop5.final.php

PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

 

 

 

 

http://php.net/manual/en/language.exceptions.extending.php

w



<?php
class Exception
{
protected $message = 'Unknown exception'; // exception message
private $string; // __toString cache
protected $code = 0; // user defined exception code
protected $file; // source filename of exception
protected $line; // source line of exception
private $trace; // backtrace
private $previous; // previous exception if nested exception

public function __construct($message = null, $code = 0, Exception $previous = null);

final private function __clone(); // Inhibits cloning of exceptions.

final public function getMessage(); // message of exception
final public function getCode(); // code of exception
final public function getFile(); // source filename
final public function getLine(); // source line
final public function getTrace(); // an array of the backtrace()
final public function getPrevious(); // previous exception
final public function getTraceAsString(); // formatted string of trace

// Overrideable
public function __toString(); // formatted string for display
}


 

 

 

 

w

 



<?php
function inverse($x)
{
if (!$x) {
throw new Exception('Division by zero.');
}
return 1 / $x;
}

try {
echo inverse(5) . "\n";
echo inverse(0) . "\n";
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}

function w($w)
{
try {
echo inverse($w) . "\n";
return 'w0';
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
return 'w1';
}

$w = w(5);
print_r($w);
$w = w(0);
print_r($w);


 



C:\>php D:\cmd\amzapi\amzapitest_com\MarketplaceWebServiceOrders\Samples\wd_learn.php
0.2
Caught exception: Division by zero.
0.2
w0Caught exception: Division by zero.
w1
C:\>