PHP單例模式模擬Java Bean實(shí)現(xiàn)方法示例詳解
實(shí)例講述了PHP單例模式模擬Java Bean實(shí)現(xiàn)方法,介紹PHP單例模式模擬Java Bean實(shí)現(xiàn)方法,涉及php面向?qū)ο蟪绦蛟O(shè)計(jì)相關(guān)操作技巧,需要的朋友可以參考下。...
文章主要介紹了PHP單例模式模擬Java Bean實(shí)現(xiàn)方法,涉及php面向?qū)ο蟪绦蛟O(shè)計(jì)相關(guān)操作技巧,需要的朋友可以參考下。
實(shí)例講述了PHP單例模式模擬Java Bean實(shí)現(xiàn)方法,具體如下:
問題:
根據(jù)如下楊輝三角形

實(shí)現(xiàn)一個(gè)get_value($row,$col)方法:
(前一個(gè)由于代碼是手機(jī)編輯的,很亂,重新發(fā)下)只是為了實(shí)現(xiàn)這個(gè)方法,很簡(jiǎn)單,幾行代碼就能實(shí)現(xiàn),但如果行和列的值稍微大點(diǎn),你就發(fā)現(xiàn),運(yùn)行時(shí)間很長(zhǎng)。所以就這次的題做了個(gè)稍微復(fù)雜點(diǎn)的例子,說明下單例模式的使用、static的使用、模擬Java Bean、static的使用、遞歸函數(shù)案例等。?
- /**
- * author Winter
- * 2016-11-22
- * PHP的單例模式
- * 模擬Java Bean
- * Class Php_bean
- */
- class- Php_bean{
- private- static- $_instance- = null;
- private- function- __construct(){}
- private- $hit- = 0;- //命中次數(shù)
- private- $array- =- array- ();- //緩存
- private- $itratorCount- = 0;- //迭代次數(shù)
- 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/>"- ;
運(yùn)行結(jié)果:
int(1) hit:0
itratorCount:1
希望PHP單例模式模擬Java Bean實(shí)現(xiàn)方法示例詳解所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP圖像處理繪圖、水印、驗(yàn)證碼、圖像壓縮技術(shù)實(shí)例總
- PHP實(shí)現(xiàn)高清晰度無損圖片壓縮功能的代碼
- 用PHP處理png圖片白色背景色改為透明色的實(shí)例代碼
- 關(guān)于PHP往mysql數(shù)據(jù)庫(kù)中批量插入數(shù)據(jù)實(shí)例教程
- Php兩點(diǎn)地理坐標(biāo)距離的計(jì)算方法和具體代碼
- PHP獲取HTTP body內(nèi)容的方法
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中獲取對(duì)象屬性的3種方法實(shí)例分析
- php5.5新增的yield關(guān)鍵字功能與相關(guān)使用技巧
- Windows7下IIS+php配置教程詳細(xì)介紹
- PHP序列化的四種實(shí)現(xiàn)方法與橫向?qū)Ρ冉坛?/a>
  - PHP圖像處理繪圖、水印、驗(yàn)證碼、圖像壓縮技術(shù)實(shí)例總結(jié)- 文章主要介紹了PHP圖像處理技術(shù),結(jié)合實(shí)例形式總結(jié)分析了php繪圖、水印、驗(yàn)證碼、圖像壓縮等相關(guān)函數(shù)、功能與圖形繪制實(shí)現(xiàn)技巧,需要的朋友可以參考下:1、繪圖 場(chǎng)景:... 
  - PHP實(shí)現(xiàn)高清晰度無損圖片壓縮功能的代碼- 經(jīng)常會(huì)用到把上傳的大圖片壓縮,特別是體積,在微信等APP應(yīng)用上,也默認(rèn)都是有壓縮的,那么,怎么樣對(duì)圖片大幅度壓縮卻仍能保持較高的清晰度呢?... 
  - 用PHP處理png圖片白色背景色改為透明色的實(shí)例代碼- 文章主要介紹了php 處理png圖片白色背景色改為透明色的實(shí)例代碼,文中通過實(shí)例代碼給大家介紹了用PHP的GD庫(kù)把圖片的背景替換成透明背景,需要的朋友參考下... 
  - 關(guān)于PHP往mysql數(shù)據(jù)庫(kù)中批量插入數(shù)據(jù)實(shí)例教程- 文章主要給大家介紹了關(guān)于php往mysql中批量插入數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧... 
  - Php兩點(diǎn)地理坐標(biāo)距離的計(jì)算方法和具體代碼- 文章主要為大家詳細(xì)介紹了php兩點(diǎn)地理坐標(biāo)距離的計(jì)算方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下php計(jì)算兩點(diǎn)地理坐標(biāo)距離的具體代碼,具體內(nèi)容如下功能:根據(jù)圓周率和... 
  - PHP獲取HTTP body內(nèi)容的方法- 今天小編就為大家分享一篇PHP獲取HTTP body內(nèi)容的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧有時(shí)候我們獲取數(shù)據(jù)時(shí)需要根據(jù)Header中的格式來解析,比... 
  - PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中獲取對(duì)象屬性的3種方法實(shí)例分析- 文章主要介紹了PHP獲取對(duì)象屬性的三種方法,結(jié)合實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中獲取對(duì)象屬性的常見操作技巧,需要的朋友可以參考下。PHP獲取對(duì)象屬性的三種方法,具體如下... 
  - php5.5新增的yield關(guān)鍵字功能與相關(guān)使用技巧- 文章主要介紹了PHP yield關(guān)鍵字功能與用法,結(jié)合實(shí)例形式分析了php5.5新增的yield關(guān)鍵字功能與相關(guān)使用技巧,需要的朋友可以參考下實(shí)例講述PHP yield關(guān)鍵字功能與用法具體如下:y... 
  - Windows7下IIS+php配置教程詳細(xì)介紹- 文章主要為大家詳細(xì)介紹了Windows7下IIS+php配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下... 
 PHP序列化的四種實(shí)現(xiàn)方法與橫向?qū)Ρ冉坛?/a> PHP序列化的四種實(shí)現(xiàn)方法與橫向?qū)Ρ冉坛?/a>- 在PHP中,序列化用于存儲(chǔ)或傳遞 PHP 的值的過程中,同時(shí)不丟失其類型和結(jié)構(gòu)。本文講述PHP序列化的四種方案,感興趣的可以了解一下一、PHP 序列化變量的 4 種方法序列化是將變量轉(zhuǎn)... 

