爱飞 发表于 2015-2-4 00:30:26

PHP网页设计PHP5的异常处置机制之利用throw关头字

PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。php5|关头字|异常处置       创立一个Exception对象后你可以将对象前往,但不该该如许利用,更好的办法是用throw关头字来取代。throw用来抛出异常:

throw new Exception( "my message", 44 );
  throw 将剧本的履行中断,并使相干的Exception对象对客户代码可用。

  以下是改善过的getCommandObject() 办法:

  index_php5.php

<?php
 // PHP 5
 require_once('cmd_php5/Command.php');
 class CommandManager {
  private $cmdDir = "cmd_php5";

  function getCommandObject($cmd) {
   $path = "{$this->cmdDir}/{$cmd}.php";
   if (!file_exists($path)) {
    throw new Exception("Cannot find $path");
   }
   require_once $path;
   if (!class_exists($cmd)) {
    throw new Exception("class $cmd does not exist");
   }

   $class = new ReflectionClass($cmd);
   if (!$class->isSubclassOf(new ReflectionClass('Command'))) {
    throw new Exception("$cmd is not a Command");
   }
   return new $cmd();
  }
 }
?>
  代码中咱们利用了PHP5的反射(Reflection)API来判别所给的类是不是是属于Command 类型。在毛病的途径下履行本剧本将会报出如许的毛病:

Fatal error: Uncaught exception 'Exception' with message 'Cannot find command/xrealcommand.php' in /home/xyz/BasicException.php:10
Stack trace:
#0 /home/xyz/BasicException.php(26):
CommandManager->getCommandObject('xrealcommand')
#1 {main}
thrown in /home/xyz/BasicException.php on line 10
  默许地,抛出异常招致一个fatal error。这意味着利用异常的类内建有平安机制。而仅仅利用一个毛病标志,不克不及具有如许的功效。处置毛病标志掉败只会你的剧本利用毛病的值来持续履行。
培训的第一阶段,学习的是HTML/CSS/JavaScript基础。

谁可相欹 发表于 2015-2-4 13:15:03

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

飘飘悠悠 发表于 2015-2-9 23:21:07

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

飘灵儿 发表于 2015-2-22 20:49:10

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

海妖 发表于 2015-2-25 11:03:03

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

乐观 发表于 2015-3-7 19:54:28

实践是检验自己会不会的真理。

爱飞 发表于 2015-3-10 08:14:22

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

柔情似水 发表于 2015-3-17 05:44:36

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

山那边是海 发表于 2015-3-17 18:02:11

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

仓酷云 发表于 2015-3-23 07:11:49

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

小女巫 发表于 2015-3-27 14:10:04

Ps:以上纯属原创,如有雷同,纯属巧合

莫相离 发表于 2015-4-5 00:23:11

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

再现理想 发表于 2015-4-5 23:10:18

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

admin 发表于 2015-4-11 02:10:29

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

深爱那片海 发表于 2015-4-12 23:18:57

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

愤怒的大鸟 发表于 2015-4-13 21:07:27

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

小魔女 发表于 2015-4-14 18:33:08

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

只想知道 发表于 2015-4-15 01:21:41

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

因胸联盟 发表于 2015-4-21 10:54:55

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

蒙在股里 发表于 2015-5-1 01:11:54

爱上php,他也会爱上你。
页: [1] 2
查看完整版本: PHP网页设计PHP5的异常处置机制之利用throw关头字