ホームページ  >  記事  >  バックエンド開発  >  PHP共通関数blocks_Exceptionとタイムスタンプ — php (33)

PHP共通関数blocks_Exceptionとタイムスタンプ — php (33)

WBOY
WBOYオリジナル
2016-08-08 09:23:441050ブラウズ

例外(前回の記事からの続き)

簡単な例外処理の例

<?<span>php
</span><span>try</span><span> {
$error</span>= <span>'</span><span>Always throw this error</span><span>'</span><span>;
</span><span>throw</span><span>new</span><span> Exception($error);
</span><span>//</span><span>创建一个异常对象,通过throw语句抛出</span>echo <span>'</span><span>Neverexecuted</span><span>'</span><span>;
</span><span>//</span><span>从这里开始,try代码块内的代码将不会再被执行</span>} <span>catch</span><span> (Exception $e) {
echo </span><span>'</span><span>Caught exception:</span><span>'</span>, $e->getMessage(), <span>"</span><span>\n</span><span>"</span><span>;
</span><span>//</span><span>输出捕获的异常消息</span><span>}
echo </span><span>'</span><span>Hello World</span><span>'</span>; <span>//</span><span>程序没有崩溃继续向下执行</span>?>

システムには例外処理が付属しています

<?<span>php
classException{
</span><span>protected</span>$message=<span>'</span><span>Unknownexception</span><span>'</span>;<span>//</span><span>异常信息</span><span>protected</span>$code=<span>0</span>;<span>//</span><span>用户自定义异常代码</span><span>protected</span>$file;<span>//</span><span>发生异常的文件名</span><span>protected</span>$line;<span>//</span><span>发生异常的代码行号</span>function__construct($message=<span>null</span>,$code=<span>0</span><span>);
finalfunctiongetMessage();</span><span>//</span><span>返回异常信息</span>finalfunctiongetCode();<span>//</span><span>返回异常代码</span>finalfunctiongetFile();<span>//</span><span>返回发生异常的文件名</span>finalfunctiongetLine();<span>//</span><span>返回发生异常的代码行号</span>finalfunctiongetTrace();<span>//</span><span>backtrace()数组</span>finalfunctiongetTraceAsString(); <span>//</span><span>已格成化成字符串</span><span>的getTrace()信息
</span><span>/*</span><span>可重载的方法</span><span>*/</span><span>function__toString();</span><span>//</span><span>可输出的字符串</span><span>}
</span>?>

<?<span>php
</span><span>/*</span><span> 自定义的一个异常处理类,但必须是扩展内异常处理类的子类</span><span>*/</span><span>class</span><span> MyExceptionextends Exception{
</span><span>//</span><span>重定义构造器使第一个参数message 变为必须被指定的属性</span><span>public</span> function __construct($message, $code=<span>0</span><span>){
</span><span>//</span><span>可以在这里定义一些自己的代码
</span><span>//</span><span>建议同时调用parent::construct()来检查所有的变量是否已被赋值</span><span>parent::__construct($message, $code);
}
</span><span>public</span><span> function __toString() {
</span><span>//</span><span>重写父类方法,自定义字符串输出的样式</span><span>return</span> __CLASS__.<span>"</span><span>:[</span><span>"</span>.$<span>this</span>->code.<span>"</span><span>]:</span><span>"</span>.$<span>this</span>->message.<span>"</span><span><br></span><span>"</span><span>;
}
</span><span>public</span><span> function customFunction() {
</span><span>//</span><span>为这个异常自定义一个处理方法</span>echo <span>"</span><span>按自定义的方法处理出现的这个类型的异常<br></span><span>"</span><span>;
}
}
</span>?>

カスタム例外

りー

キャプチャされた複数の例外

<?<span>php
</span><span>try</span> { <span>//</span><span>使用自定义的异常类捕获一个异常,并处理异常</span>$error = <span>'</span><span>允许抛出这个错误</span><span>'</span><span>;
</span><span>throw</span><span>new</span><span> MyException($error);
</span><span>//</span><span>创建一个自定义的异常类对象,通过throw语句抛出</span>echo <span>'</span><span>Never executed</span><span>'</span>; <span>//</span><span>从这里开始,try代码块内的代码将不会再被执行</span>} <span>catch</span> (MyException$e) { <span>//</span><span>捕获自定义的异常对象</span>echo <span>'</span><span>捕获异常: </span><span>'</span>.$e; <span>//</span><span>输出捕获的异常消息</span>$e->customFunction(); <span>//</span><span>通过自定义的异常对象中的方法处理异常</span><span>}
echo </span><span>'</span><span>你好呀</span><span>'</span>; <span>//</span><span>程序没有崩溃继续向下执行</span>?><br>

2 タイムスタンプ

2.1 UNIX タイムスタンプ

Unix タイムスタンプ:
??Unix エポック以降 (1970 年 1 月 1 日 00:00:00 G) MT ) の数に現在時刻の秒です。
??関連関数:
??time() 関数を使用して、現在のシステムのタイムスタンプを返します
??mktime() -- 日付の Unix タイムスタンプを取得します
??形式: intmktime (時[,分[,秒[,月[,日[,年[,is_dstエリア]]]]]];
??注: is_dst パラメーターは、

2.2 PHP で日付と時刻を取得するかどうかを示します

getdate--日付/時刻情報を取得します
??形式: array getdate([inttimestamp])
??タイムスタンプに基づいて日付情報を含む結合された配列を返します。タイムスタンプが指定されていない場合は、現在の現地時間が想定されます。配列内の単位は次のとおりです:

2.3 日付と時刻のフォーマットされた出力

date -- ローカル時刻/日付をフォーマットします
??形式: string date ( string format [, inttimestamp] )
? ?指定された形式文字列に従って整数のタイムスタンプを取得して生成された文字列を返します。タイムスタンプが指定されていない場合は、ローカルの現在時刻が使用されます。つまり、タイムスタンプはオプションであり、デフォルト値は time() (現在のタイムスタンプ) です。
??例:
echo date("Y year m month d day H:i:s");//2010 年 10 月 28 日 14:22:28
Y: 4 桁の年 m: 月 01-12 n : 月 1-12d: 日 01-31 j: 日 1-31
H: 時 24 時間制 h: 時 12 時間制 i: 分 00-59 s: 秒 00-59 w: 曜日 0 -6
A : 午前または午後 a: 午前または午後。

2.4 PHP のデフォルトのタイムゾーンを変更する

PHP のデフォルトのタイムゾーンを変更するには 2 つの方法があります:
??1. php.ini 設定ファイルを修復します:
??date.timez/GMT+8
??2 date_default_timezone_set 関数を使用します: -- スクリプト内のすべての日付と時刻関数のデフォルトのタイムゾーンを設定します。
??例: date_default_timezone_set("PRC");//中国のタイムゾーン。
??date_default_timezone_get(); // 現在のタイムゾーンを取得します

2.5 マイクロ秒を使用して PHP スクリプトの実行時間を計算します

microtime -- 現在の Unix タイムスタンプとマイクロ秒を返します
??形式:mixed microtime( [boolget_as_float] )
??microtime() 現在の Unix タイムスタンプとマイクロ秒。この関数は、gettimeofday() システム コールをサポートするオペレーティング システムでのみ使用できます。
??オプションのパラメーターを指定せずに呼び出された場合、この関数は「msecsec」形式の文字列を返します。ここで、sec は Unix エポック (グリニッジ標準時 1970 年 1 月 1 日 0:00:00) からの秒数です。ミリ秒はマイクロ秒です。一部。文字列の両方の部分が秒単位で返されます。
??get_as_float パラメーターが指定され、その値が TRUE と同等の場合、microtime() は浮動小数点数を返します。

上記は、PHP_Exception と timestamp - php (33) の一般的な関数ブロックを、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。