PHP单例模式模拟Java Bean实现方法示例
网络编程 2021-07-04 23:24www.168986.cn编程入门
这篇文章主要介绍了PHP单例模式模拟Java Bean实现方法,涉及php面向对象程序设计相关操作技巧,需要的朋友可以参考下
本文实例讲述了PHP单例模式模拟Java Bean实现方法。分享给大家供大家参考,具体如下
问题
根据如下杨辉三角形
实现一个get_value($row,$col)
方法
(前一个由于代码是手机编辑的,很乱,重新发下)只是为了实现这个方法,很简单,几行代码就能实现,但如果行和列的值稍微大点,你就发现,运行时间很长。所以就这次的题做了个稍微复杂点的例子,说明下单例模式的使用、static的使用、模拟Java Bean、static的使用、递归函数案例等。
/ author Winter 2016-11-22 PHP的单例模式 模拟Java Bean Class Php_bean / class Php_bean{ private static $_instance = null; private function __construct(){} private $hit = 0;//命中次数 private $array = array();//缓存 private $itratorCount = 0;//迭代次数 public function add_itratorCount(){ $this->itratorCount ++; } public function get_itratorCount(){ return $this->itratorCount; } public function set_cache($row,$col,$value){ $this->array[$row."_".$col] = $value; } public function get_cache($row,$col){ if(isset($this->array[$row."_".$col])){ return $this->array[$row."_".$col]; }else{ return false; } } public function add_hit(){ $this->hit ++; } public function get_hit(){ return $this->hit; } public static function instance(){ if(self::$_instance instanceof self) return self::$_instance; self::$_instance = new self; return self::$_instance; } } / @param $row 行 @param $col 列 @return int / function get_value($row,$col){ $php_bean = Php_bean::instance(); $php_bean->add_itratorCount(); if($col > $row) return 0; if($row <=0) return 0; if($col == $row) return 1; if($row == 1) return 1; if($col == 1) return 1; $pre = $php_bean->get_cache($row-1,$col-1); $next = $php_bean->get_cache($row-1,$col-0); if($pre === false){ $pre = get_value($row-1,$col-1); $php_bean->set_cache($row-1,$col-1,$pre); }else{ $php_bean->add_hit(); } if($next === false){ $next = get_value($row-1,$col-0); $php_bean->set_cache($row-1,$col-0,$next); }else{ $php_bean->add_hit(); } $value = $pre + $next; return $value; } $v = get_value(6,6); var_dump($v); $php_bean_obj = Php_bean::instance(); echo "hit:".$php_bean_obj->get_hit()."<br/>"; echo "itratorCount:".$php_bean_obj->get_itratorCount()."<br/>";
运行结果
int(1) hit:0
itratorCount:1
更多关于PHP相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指