仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1836|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之PHP5试用(二)

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:28:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学习如何将PHP与HTML结合起来完成简单动态页面php5   笼统类

笼统类不克不及被实例化。
笼统类与其它类一样,答应界说变量及办法。
笼统类一样可以界说一个笼统的办法,笼统类的办法不会被履行,不外将有能够会在其派生类中履行。

例六:笼统类

<?php
abstract class foo {
protected $x;
abstract function display();
function setX($x) {
$this->x = $x;
}
}
class foo2 extends foo {
function display() {
// Code
}
}
?>


__call

PHP5 的对象新增了一个公用办法 __call(),这个办法用来监督一个对象中的其它办法。假如你试着挪用一个对象中不存在的办法,__call 办法将会被主动挪用。

例七:__call

<?php
class foo {
function __call($name,$arguments) {
print("Did you call me? I'm $name!");
}
} $x = new foo();
$x->doStuff();
$x->fancy_stuff();
?>

这个特别的办法可以被用来完成“过载(overloading)”的举措,如许你就能够反省你的参数而且经由过程挪用一个公有的办法来传递参数。

例八:利用 __call 完成“过载”举措

<?php
class Magic {
function __call($name,$arguments) {
if($name=='foo') {
if(is_int($arguments[0])) $this->foo_for_int($arguments[0]);
if(is_string($arguments[0])) $this->foo_for_string($arguments[0]);
}
} private function foo_for_int($x) {
print("oh an int!");
} private function foo_for_string($x) {
print("oh a string!");
}
} $x = new Magic();
$x->foo(3);
$x->foo("3");
?>


__set 和 __get

这是一个很棒的办法,__set 和 __get 办法可以用来捕捉一个对象中不存在的变量和办法。

例九: __set 和 __get

<?php
class foo {
function __set($name,$val) {
print("Hello, you tried to put $val in $name");
}
function __get($name) {
print("Hey you asked for $name");
}
}
$x = new foo();
$x->bar = 3;
print($x->winky_winky);
?>


类型唆使

在 PHP5 中,你可以在对象的办法中指明其参数必需为另外一个对象的实例。

例十:类型唆使

<?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 会辨认出这个参数将会如果一个对象实例。


静态成员

静态成员和静态办法在面象对象编程的术语中被称作 “对象办法(class methods)” 和 “对象变量(class variables)”。
“对象办法” 在一个对象没有实例化前答应被挪用。一样,“对象变量” 在一个对象没有实例化前可以被自力操作掌握(不需求用一个对象的办法来掌握)。

例十一:对象办法和对象变量

<?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” 来掌握法式的毛病。

例十二:异常处置

<?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 办法,以下是一个例子。

例十三:自界说毛病处置

<?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” 局部来处置。


称号空间

称号空间对类的分组或函数分组很有效。它可以把一些相干的类或函数给组合到一同,便利今后挪用。

例十四:称号空间

<?php
namespace Math {
class Complex {
//...code...
function __construct() {
print("hey");
}
}
} $m = new Math::Complex();
?>

注重你需求在何种情形下利用称号空间,在实践应用中,你能够会需求声明两个或多个称号一样的对象来做分歧的工作,那末你就能够把他们分离放到分歧的称号空间中去(但接口是要不异的)。

  只要实现最基本的功能就可以了 就是可以添加留言 然后可以显示留言,然后加入管理功能
精灵巫婆 该用户已被删除
沙发
发表于 2015-2-4 13:11:31 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
admin 该用户已被删除
板凳
发表于 2015-2-9 23:08:38 | 只看该作者
实践是检验自己会不会的真理。
再现理想 该用户已被删除
地板
发表于 2015-2-28 04:24:02 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
飘灵儿 该用户已被删除
5#
发表于 2015-3-9 20:48:13 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
山那边是海 该用户已被删除
6#
发表于 2015-3-10 23:44:44 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
老尸 该用户已被删除
7#
发表于 2015-3-19 02:19:31 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
谁可相欹 该用户已被删除
8#
发表于 2015-3-21 20:15:15 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
分手快乐 该用户已被删除
9#
发表于 2015-3-22 04:09:35 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-27 15:09:47 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
第二个灵魂 该用户已被删除
11#
发表于 2015-4-3 05:17:26 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
再见西城 该用户已被删除
12#
发表于 2015-4-14 12:12:31 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
柔情似水 该用户已被删除
13#
发表于 2015-4-14 17:32:39 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
活着的死人 该用户已被删除
14#
发表于 2015-4-17 06:12:42 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
莫相离 该用户已被删除
15#
发表于 2015-4-17 21:06:13 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
金色的骷髅 该用户已被删除
16#
发表于 2015-4-19 02:34:29 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
若相依 该用户已被删除
17#
发表于 2015-4-19 03:39:07 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
乐观 该用户已被删除
18#
发表于 2015-4-26 16:10:25 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
海妖 该用户已被删除
19#
发表于 2015-4-27 11:11:42 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
简单生活 该用户已被删除
20#
发表于 2015-4-27 17:33:45 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 20:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表