多数大学生出来选择的工作和专业无关
首页 > 专业知识

用实例来理解PHP5异常处理

时间:2018-06-18 19:27:30 [来源]:郑州PHP培训学校

   用实例来理解PHP5异常处理

  PHP5异常处理对于初次接触PHP语言的新手来说还是不太了解其真正的作用。我们通过一个实例来为大家讲解PHP5异常处理的相关概念。
  一个程序的编写难免会出现各种各样的错误,那么我如何来处理这些错误,或将错误显示出来方便我们查找更改呢?这就用到了异常处理。这里我们将向大家介绍PHP5异常处理的相关概念。
  PHP5异常处理
  PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被throw语句抛出并被catch语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以 便捕获可能存在的异常。
  每一个 try 至少要有一个与之对应的 catch。使用多个 catch  可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配 所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。
  当然,PHP5异常处理允许在 catch 代码块内再次抛出(throw)异常。 当一个异常被抛出时,其后(译者注:指抛出异常时所在的代码块)的代码将不会继续  执行,而PHP 就会尝试查找第一个能与之匹配的 catch。
  如果一个异常没有被捕获,而  且又没用使用 set_exception_handler() 作相应的处理的话,那么PHP将会产生一个严重的错误,并且输出 Uncaught Exception ... (未捕获异常)的提示信息。
  PHP5异常处理的异常类的属性与方法
  以下这段代码只为说明内置异常处理类的结构,它并不是一段有实际意义的可用代码。
  <?php
  class Exception{
  protected $message = 'Unknown
  exception';
  // 异常信息
  protected $code = 0;
  // 用户自定义异常代码
  protected $file;
  // 发生异常的文件名
  protected $line;
  // 发生异常的代码行号
  function __construct($message =
  null, $code = 0);
  final function getMessage();
  // 返回异常信息
  final function getCode();
  // 返回异常代码(代号)
  final function getFile();
  // 返回发生异常的文件名
  final function getLine();
  // 返回发生异常的代码行号
  final function getTrace();
  // backtrace() 数组
  final function getTraceAsString();
  // 已格成化成字符串的 getTrace() 信息
  //可重载的方法
  function __toString();
  // 可输出的字符串
  }
  ?>
  以上就是对PHP5异常处理的分析,希望对又需要的朋友有所帮助。
  PHP压缩文件夹的具体实现方法
  PHP压缩文件夹可以通过zlib库来实现。一般的PHP网站空间都支持zlib控件。我们可以通过下载得到现成的函数来扩展zlib库,完成我们的功能。
  PHP拥有庞大的函数库,各个函数表现的功能又不尽相同,帮助我们实现很多功能。我们今天要为大家介绍的是PHP压缩文件夹时用到的函数。zlib是一个很好的压缩、解压工具,目前一般的PHP空间都支持 zlib 控件。
  不过zlib 库中没有对文件夹操作的函数(当然,我们也可以自己写一个,但这样太麻烦),我们可以去网上下载一些现成的,由先辈们写的,扩展了 zlib 函数库的工具。
  PHP压缩文件夹的具体实现代码:
  < ?php
  require_once("archive.php");
  $test = new zip_file("app.zip");
  $test->set_options(
  array(
  ‘basedir’ => dirname($modpath),
  ‘inmemory’ => 0, //不在内存压缩.
  而是直接存放到磁盘.如果要压缩下载,则可以选择为1‘recurse’ => 1, //是否压缩子目录,
  resurse,递归的意思?
  ’storepaths’ => 1, //是否存储目录结构,我选是。
  ‘overwrite’ => 1, //是否覆盖
  ‘prepend’ => "", //未知
  ‘followlinks’ => 0, //未知
  ‘method’ => 1, //未知
  ’sfx’ => "", //不知道什么意思
  )
  );
  $test->add_files("src/archive.php");
  $test->add_files("/App");
  $test->create_archive();
  $test->download_file();
  //不写这一行,数据只存在内存里
  //以下代码为解压
  $test = new tar_file("archives/test.tar");$test->set_options(array(’inmemory’ => 0));$test->extract_files();
  ?>
  希望通过本文介绍的这段代码示例可以帮助我们进一步了解PHP压缩文件夹的含义。
  几种常用PHP连接数据库的代码示例
  我们今天为大家介绍的PHP连接数据库的方法包括在MYSQL数据库,ACCESS数据库,MS SQL数据库和Oracle数据库中实现。
  PHP语言经常被程序员用来开发网站,在实际操作中肯定会与数据库打上交道。今天我们就为大家介绍有关PHP连接数据库的各种方法,希望对大家有用。
  PHP连接数据库之PHP连接MYSQL数据库代码
  < ?php
  $mysql_server_name='localhost';
  //改成自己的mysql数据库服务器
  $mysql_username='root';
  //改成自己的mysql数据库用户名
  $mysql_password='12345678';
  //改成自己的mysql数据库密码
  $mysql_database='mycounter';
  //改成自己的mysql数据库名
  $conn=mysql_connect($mysql_server_name,
  $mysql_username,$mysql_password,
  $mysql_database);
  $sql='CREATE DATABASE mycounter
  DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;';
  mysql_query($sql);
  $sql='CREATE TABLE `counter`
  (`id` INT(255) UNSIGNED NOT NULL
  AUTO_INCREMENT ,`count` INT(255)
  UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY
  ( `id` ) ) TYPE = innodb;';
  mysql_select_db($mysql_database,$conn);
  $result=mysql_query($sql);
  //echo $sql;
  mysql_close($conn);
  echo "Hello!数据库mycounter已经成功建立!";?>
  PHP连接数据库之PHP连接ACCESS数据库代码方法< ?
  $conn = new com("ADODB.Connection");
  $connstr = "DRIVER={Microsoft
  Access Driver (*.mdb)};
  DBQ=". realpath("data/db.mdb");
  $conn->Open($connstr);
  $rs = new com("ADODB.RecordSet");
  $rs->Open("select *
  from szd_t",$conn,1,1);
  while(! $rs->eof) {
  $f = $rs->Fields(1);
  echo $f->value;
  $rs->MoveNext();
  }
  ?>
  PHP连接数据库之PHP连接MS SQL数据库代码方法1.安装SQL服务器并添加PHP的MSSQL扩展
  2.使用以下代码连接并测试
  < ?php
  $myServer = localhost; //主机
  $myUser = sa; //用户名
  $myPass = password; //密码
  $myDB = Northwind; //MSSQL库名
  $s = @mssql_connect($myServer,
  $myUser, $myPass)
  or die(Couldnt connect to
  SQL Server on $myServer);
  $d = @mssql_select_db($myDB, $s)
  or die(Couldnt open database $myDB);
  $query = SELECT TitleOfCourtesy
  + +FirstName+ +LastName AS Employee ;
  $query .= FROM Employees ;
  $query .= WHERE Country=USA
  AND Left(HomePhone, 5) = (206);
  $result = mssql_query($query);
  $numRows = mssql_num_rows($result);
  echo < h1> . $numRows . Row .
  ($numRows == 1 ? : s) . Returned </ h1>;
  while($row = mssql_fetch_array($result))
  {
  echo < li> . $row[Employee] . < /li>;
  }
  ?>
  PHP连接数据库之PHP连接Oracle数据库
  PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。你的PHP安装选项应该可以支持两者的使用。
  < ?
  if ($conn=Ora_Logon
  ("user@TNSNAME","password"))
  { echo "SUCCESS !
  Connected to database\n";
  }else
  {echo "Failed :-(
  Could not connect to database\n";}
  Ora_Logoff($conn);
  phpinfo();
  ?>
  以上PHP连接数据库的代码使用TNSNAME(在你的tnsnames.ora文件中指明)定义的Oracle数据库名称、用户名称和密码连接数据库。在成功连接的基础上,ora_logon函数返回一个非零的连接ID并储存在变量$conn中。
 

上一篇:推荐几种PHP实现页面跳转的方法

下一篇:PHP获取字段长度相关函数使用技巧