PHP 板


LINE

看板 PHP  RSS
※ 引述《StubbornLin (Victor)》之銘言: : function getDataSource(){ : static $IsCreated = false; : static $DataSource ; : if(!$IsCreated){ : $DataSource = new DataSource; : $IsCreated = true; : } : return $DataSource; : } : 在這裡,我想創造一個唯一的DataSource這個class的reference class MyClass { private static $instance; public function MyClass()//建構子 { self::$instance =& $this; } public static function &get_instance() { return self::$instance; } } 這樣就有唯一的class reference 要注意的是'&'在php跟C++的功能不一樣 php4中物件傳遞是call by value '&'在這裡的功能是call by reference 當然如果可以的話用php5就沒問題了 php5中物件傳遞是CBR : 透過這個函數取得,但是這樣看起來很蠢 : 我用之前在C++裡面的寫法 : function getDataSource(){ : static $DataSource = new DataSource; : return $DataSource; : } 我C++不熟 請問一下這樣會是唯一的class reference嗎 這不會每次呼叫getDataSource()都new一個新的object嗎 : 但是卻得到像這樣的錯誤訊息 : Parse error: parse error, unexpected T_NEW in : /home/customer/kinmen.info/www/test.php on line 38 : 使用的版本是4.3.11 : 請問是因為static的變數 在這個版本裡規定 本來就不能使用new這個operator : 還是我寫的方式不對? : 接著,還有一個問題就是,直接使用Class::Function取得的Class Refrence : 去做->然後存取東西也會出錯 : echo DataSource::getDataSource()->GetData(); : 錯誤訊息 : Parse error: parse error, unexpected T_OBJECT_OPERATOR, expecting ',' or ';' : in /home/customer/kinmen.info/www/test.php on line 52 : 而修正問題的方式我先用一個變數去接class的refrence : 然後再操作這個變數就解決了 : $DataSource = DataSource::getDataSource(); : echo $DataSource->GetData(); : 但是我還是希望能夠直接操作回傳來的class,請問該怎樣寫呢? --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.112.156 ※ 編輯: superGA 來自: 140.119.112.156 (01/23 19:26)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP