PHP教程之第1次密切接触PHP5(2)
告诉你了一个方式,但是缺少努力这一环节,那也是白搭。php5 接上篇,持续硬着头皮往下翻。。。。:)类型唆使
在PHP5,你可以在一个类的办法中指明其参数必需为一个类的实例:
Example 10: 类型实例
<?php
class foo {
// code ...
}
class bar {
public function process_a_foo(foo $foo) {
// Some code
}
}
$b = new bar();
$f = new foo();
$b->process_a_foo($f);
?>
可以看到,在变量前指定一个类名,让PHP5晓得这个变量将是一个类的实例
静态成员
静态成员和静态办法在OOP中普通称为"类变量"和"类办法"。
一个"类办法"可以在对象没有被实例化的时分挪用
一个"类变量"可以在对象没有被实例化的时分会见(也不需求对象的办法来挪用)
Example 11: 类变量和类办法
<?php
class calculator {
static public $pi = 3.14151692;
static public function add($x,$y) {
return $x + $y;
}
}
$s = calculator::$pi;
$result = calculator::add(3,7);
print("$result");
?>
* 异常处置
异常处置是开辟言语中公认的处置异常毛病的办法,如在JAVA和C++中。
PHP5用"try"和"catch"关头字来捕捉异常。
Example 12: 异常处置
<?php
class foo {
function divide($x,$y) {
if($y==0) throw new Exception("cannot divide by zero");
return $x/$y;
}
}
$x = new foo();
try {
$x->divide(3,0);
} catch (Exception $e) {
echo $e->getMessage();
echo "\n<br />\n";
// Some catastrophic measure here
}
?>
可以看出,"try"暗示的是履行代码的中央,当有毛病的时分履行"catch"区域的代码。
在"catch"区域你应该指明履行异常的对象,如许可使咱们的布局更明晰
自界说异常处置
你可以在法式中界说本人习气的捕捉异常毛病的代码。
十分复杂,你仅仅需求承继一个异常类,在这个类中需求一个机关器和一个叫getMessage的办法罢了:
Example 13: 自界说异常类
<?php
class WeirdProblem extends Exception {
private $data;
function WeirdProblem($data) {
parent::exception();
$this->data = $data;
}
function getMessage() {
return $this->data . " caused a weird exception!";
}
}
?>
如今就能够用"throw new WeirdProblem($foo) "来抛出异常。假如在try{}如许的区域中呈现异常,PHP5就会跳入
catch区域来抛出异常。
称号空间
"称号空间"可让你便利地挪用一组类或办法:
Example 14: 称号空间
<?php
namespace Math {
class Complex {
//...code...
function __construct() {
print("hey");
}
}
}
$m = new Math::Complex();
?>
注:在实践使用中,你可以在分歧的称号空间里界说同名的类来完成分歧的义务(但接口要不异)
<翻译终了>
终天蹩手糟糕地翻译完了,有些翻译不准确的中央,如术语、对原文的了解,敬请逐一指出,配合完美,配合入手下手PHP5的进修、切磋。。。
二泉
2003/7/2于郑州根据功能来进行封装等。很多的不懂,在使用搜索引擎查找,或者请教老师和在老师详细的讲解、指导下,都能顺利解决。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 本文当是我的笔记啦,遇到的问题随时填充 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
页:
[1]