• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

php面向对象加载类、常用设计模式

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
加载类:

include("./Ren.class.php");
include "./Ren.class.php";           用此方法的时候include后面要加空格

require("./Ren.class.php");
require "./Ren.class.php";

require_once("./Ren.class.php");
require_once "./Ren.class.php";

自动加载类的方法 (所有的类文件要放在同一目录下,所有类文件的命名规则一致)

function __autoload($classname)
{
    require $classname.".class.php";
}

$r = new Ren();
设计模式

单例模式:类的计划生育
1.让该类在外界无法造对象
2.让外界可以造一个对象,做一个静态方法返回对象
3.在类里面通过静态变量控制返回对象只能是一个

class Dog
{
    static $dx;
    public $test;
    
    private function __construct()
    {

    }

    static function DuiXiang()
    {
        //return new Dog();
        if(empty(self::$dx))              静态要加self
        {
            self::$dx=new Dog();
        }
        return self::$dx;
    }
}

$a=Dog::DuiXiang();

$b=Dog::DuiXiang();
$b->test="hello";

var_dump($a);
工厂模式:
class YunSuan
{
    public $a;
    public $b;
    
    function Jia()
    {
        return $a+$b;
    }
    function Jian()
    {
        return $a-$b;
    }
}


abstract class YuanSuan
{
    public $a;
    public $b;
    
    function Suan()
    {
    }
}

class Jia extends YuanSuan
{
    function Suan()
    {
        return $this->a+$this->b;
    }
}

class Jian extends YuanSuan
{
    function Suan()
    {
        return $this->a-$this->b;
    }
}

class Cheng extends YuanSuan
{
    function Suan()
    {
        return $this->a*$this->b;
    }
}

$j = new Cheng();
$j->Suan();


class GongChang
{
    static function ShengChan($f)
    {
        switch($f)
        {
            case "+":
                return new Jia();
                break;
            case "-":
                return new Jian();
                break;
            case "*":
                return new Cheng();
                break;
        }
    }
}


$r = GongChang::ShengChan("*");
$r->a=10;
$r->b=5;
echo $r->Suan();

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php代码发布时间:2022-07-10
下一篇:
PHP入门介绍与环境配置发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap