面向对象下
- class Ren {
- public $name;
- public $sex;
- public $birthday;
- }
构造函数
- // 写法特殊
- // 执行特殊
- public function Ren(){} // 第一种代码方式
- public function __construct(){
- echo"aaaa";
- } // 第二种代码方式, 魔术方法
- $r = new Ren(); // 在造对象的时候, 自动执行函数中的代码
析构函数
public functon __destruct() {} // 在语句中不在使用创建的对象或变量时, 自动销毁, 销毁前自动调用改函数
例子
- <?php // 若整个页面只有 php 代码, 可以不用写结尾
- // 做一个小游戏
- // 设置当前页面编码格式为 UTF8
- header("Content-type:text/html; charset=gbk");
- class hero{
- public $name; // 名字
- public $blood; // 血量
- public $attack; // 攻击力
- // 放技能的方法
- public function jineng(){
- $arr = array(
- array(50,"隔山打牛"),
- array(60,"降龙十八掌"),
- array(45,"九阳神功"),
- array(20,"葵花宝典"),
- array(70,"六脉神剑")
- );
- $gs = count($arr);
- $sy = rand(0,$gs-1);
- echo "{$this->name}使用了{$arr[$sy][1]}\n";
- return $arr[$sy][0];
- }
- // 构造函数
- public function __construct($name,$blood,$gjl){
- $this->name = $name;
- $this->blood = $blood;
- $this->attack = $gjl;
- }
- }
- // 造第一个人
- $h1 = new hero("张三",700,15);
- // 造第二个人
- $h2 = new hero("李四",1600,8);
- while(true){
- // 随机一下, 是普攻还是放技能
- $sj1 = rand(0,1);
- $gj = 0; // 本次 h1 能打掉多少血
- echo "{$h1->name}打{$h2->name}\n";
- if($sj1){
- $gj = $h1->jineng();
- }else{
- $gj = $h1->attack+rand(0,20);
- }
- $h2->blood = $h2->blood-$gj;
- echo "{$h1->name}打掉了 {$h2->name} 的{$gj}血 \ n";
- echo "******************************\n";
- $sj2 = rand(0,1);
- $gj2 = 0; // 本次 h2 能打掉多少血
- echo "{$h2->name}打{$h1->name}\n";
- if($sj2){
- $gj2 = $h2->jineng();
- }else{
- $gj2 = $h2->attack+rand(0,20);
- }
- $h1->blood = $h1->blood-$gj2;
- echo "{$h2->name}打掉了 {$h1->name} 的{$gj2}血 \ n";
- echo "******************************\n";
- if($h2->blood<=0){
- echo "{$h1->name}赢了";
- break;
- }else if($h1->blood<=0){
- echo "{$h2->name}赢了";
- break;
- }
- echo "----\n\n\n";
- // 休眠
- sleep(3);
- }
在命令窗口执行代码: Win+R -> cmd -> 输入 php + 空格 + 文件所在位置
面向对象下
来源: http://www.bubuko.com/infodetail-2488774.html