以下是php http协议的二个例子,有需要的朋友,参考下了。
1、通过http响应,控制浏览器在一定时间跳转。
<?php //通过http响应,控制浏览器在一定时间跳转 //3秒 浏览器跳转到指定url //header("Refresh: 3; url=http://www."); header("Refresh: 3; url=http://localhost/htdocs/test.php"); ?>
2、设置禁用缓存,通过httpwatch抓包工具可以查看。
<?php //禁用缓存 header("Expires: -1"); header("Cache-Control: no-cache"); header("pragam: no-cache"); echo "禁用缓存"; //by www. ?>
在类中自定义构造方法的基本语法:
//php5
[修饰符]function __construct([参数列表]){
}
//php4
[修饰符]function 类名([参数列表]){
}
学编程,新手学php 面向对象编程,多看例子,多练习,进步就会很快。
再好的php 教程,也教不会你写代码,只能自己多实践!
来看具体的例子吧,这样才好理解。
<?php /** php 构造方法 * by www. */ class Person{ public $name; public $age; //构造方法 php5 public function __construct($name,$age){ $this->name=$name; $this->age=$age; } //构造方法 php4 写在这里是php5为了兼容PHP4 public function Person($name,$age){ $this->name=$name; $this->age=$age; } } $p1=new Person("老大",27); echo $p1->name; $p1=new Person("小二",26); $p1=new Person("小三",24); ?>
注意:
1)、$this 的理解:
1、$this 本质可以理解就是这个对象的地址
2. 哪个对象使用到$this, 就是哪个对象地址
3. $this不能在类外部使用
2)、构造方法的理解:
构造方法名和类名相同(php4版),php5版的构造方法名可以和类名相同,也可以是__construct()。
构造方法的默认访问修饰符是public,同时构造方法没有返回值。
创建新对象成功后,系统自动的调用该类的构造方法。
一个类有且只有一个构造方法,在php5后虽然__construct() 和 类名() 可以共存,但是实际上也只能使用一个。
如果没有给类自定义构造方法,则该类使用系统默认的构造方法。
如果给类自定义了构造方法,则该类的默认构造方法被覆盖。
有了以上的学习,php 面向对象之构造函数不再难了吧。
到于什么是php 面向对象的静态变量,在以前的php 教程中介绍的很多了,大家可以回顾一下。
来看今天的问题,有一群朋友在玩捉迷藏游戏,不时有新的小朋友加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决。
有二种方法可以解决这个问题:使用全局变量和静态变量。
<?php //有一群朋友在玩捉迷藏游戏,不时有新的小朋友加入, //请问如何知道现在共有多少人在玩? //请使用面向对象的思想,编写程序解决。 /* //1种方法使用全局变量 global $global_nums; //先声明全局变量后再对它进行赋值 $global_nums=0; class Child{ public $name; //构造方法 public function __construct($name){ $this->name=$name; } //定义一个方法统计人数 public function allPlay(){ //先声明使用全局变量 global $global_nums; $global_nums+=1; echo $this->name."加入游戏.<br/>"; } } $p1=new Child("lily"); $p1->allPlay(); $p2=new Child("lucy"); $p2->allPlay(); $p3=new Child("kucy"); $p3->allPlay(); echo $global_nums; //by www. */ //第二在类中 使用静态变量 class Child{ public $name; //在类中声明静态变量 public static $allPlay=0; public function __construct($name){ $this->name=$name; } //统计人数 public function addPlay(){ //在类中使用静态变量。在类中有下面2中方式访问静态变量 //self::$静态变量名和类名::$静态变量名 //self::$allPlay+=1; Child::$allPlay+=1; echo $this->name."加入游戏.<br/>"; } } $p1=new Child("lily"); $p1->addPlay(); $p2=new Child("lucy"); $p2->addPlay(); $p3=new Child("kucy"); $p3->addPlay(); $p4=new Child("uucy"); $p4->addPlay(); //在类外只有一种方式访问静态变量:类名::$静态变量名 echo Child::$allPlay; ?>