PHP常用功能块_异常与时间戳 — php(33)
异常(接上篇)
一个简单异常处理实例
<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>
捕获多个异常
在try代码之后,必须至少给出一个catch代码块,也可以将多个catch代码块与一个try代码块关联使用。那么使用多个catch就可以捕获不同的类所产生的异常。注意顺序。
2 时间戳
2.1 UNIX时间戳
Unix 时间戳:
??自从Unix 纪元(格林威治时间1970 年1 月1 日00:00:00)到当前时间的秒数.
??相关函数:
??使用time( )函数返回一个当前系统的时间戳
??mktime( )--取得一个日期的Unix 时间戳
??格式:intmktime(时[,分[,秒[,月[,日[,年[,is_dst区]]]]]]);
??注意:is_dst参数表示是否
2.2 在PHP中获取日期和时间
getdate--取得日期/时间信息
??格式:array getdate( [inttimestamp] )
??返回一个根据timestamp得出的包含有日期信息的结合数组。如果没有给出时间戳则认为是当前本地时间。数组中的单元如下:
2.3 日期和时间的格式化输出
date--格式化一个本地时间/日期
??格式:string date ( string format [, inttimestamp] )
??返回将整数timestamp按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp是可选的,默认值为time()(当前时间戳)。
??例如:
echo date(“Y年m月d日H:i:s”);//2010年10月28日14:22:28
Y:四位数年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:上午AM或下午PM a:上午am或下午pm。
2.4 修改PHP的默认时区
修改PHP的默认时区有两种方式:
??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 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec是微秒部分。字符串的两部分都是以秒为单位返回的。
??如果给出了get_as_float参数并且其值等价于TRUE,microtime() 将返回一个浮点数。
以上就介绍了PHP常用功能块_异常与时间戳 — php(33),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan
