隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評論

          閱讀排行榜

          評論排行榜

          AMFPHP在Persistent Layer探索 (28-05-2005)
          我發現一個奇怪的現象,如果一個Session Value在Constructor時已經產生,例如:
          class test {
          ??function test() {
          ????// Method Table從略...
          ????$_SESSION['myVar'] = "constructor";
          ??}
          ??function setVar($value) {
          ????$_SESSION['myVar'] = $value;
          ??}
          ??function getVar() {
          ????return $_SESSION['myVar'];
          ??}
          }
          setVar無法覆蓋該Session Value,getVar傳回的結果是"constructor",有誰知道為什麼?
          (原因已經知道,自己真蠢,哈哈,前面已經解釋了)

          Persistence有了點小小的眉目,下一步就是想想怎樣做O/R Mapping...

          P.S. 發現Openamf有一個有趣 範例 ,它的Persistence是怎樣實現?Add Person後,關閉Browser,再打開,搜尋該記錄,仍然存在!(沒有用Database)

          首先先強調一點:Flash Remoting使用HTTP,HTTP是一個Stateless Protocol,所以它不會記住之前的東西,所以有人以為可以這樣做:

          class test {
          ??function test() {
          ????// Method Table從略...
          ??}
          ??function setVar($value) {
          ????$this->myVar = $value;
          ??}
          ??function getVar() {
          ????return $this->myVar;
          ??}
          }
          先用setVar儲下數值後,之後可以用getVar取回數值,是沒有可能的;因為每Call一次Method,一個新Object Instance是會產生

          正常做法,當然是利用Session,AMFPHP 1.0開始,第一次連接一個Class時,已經自動處理了Session,不用再用session_start()。另外,在一個純Flash應用中,不用擔心Flash處理不到Session,當包著SWF的HTML(PHP)載入時,Session已經可以產生(假設Cookie沒有被Disabled)。當PHP通過AMFPHP找不到Session時,它才會產生新的Session(例如Cookie被Disabled),SessionID會通過URL去傳送,所以連去Remoting Gateway時,在NetConnection Debugger,可以看到:
          ...gateway.php?PHPSESSID=6362...

          回到正題,可以使用Session保持Persistence時,例如:

          class test {
          ??function test() {
          ????// Method Table從略...
          ??}
          ??function setVar($value) {
          ????$_SESSION['myVar'] = $value;
          ??}
          ??function getVar() {
          ????return $_SESSION['myVar'];
          ??}
          }
          posted on 2006-06-07 09:44 blog搬家了--[www.ialway.com/blog] 閱讀(391) 評論(0)  編輯  收藏 所屬分類: Flash Remoting
          主站蜘蛛池模板: 吉首市| 南丰县| 凉山| 孟州市| 晋城| 泾阳县| 阿拉善左旗| 南投县| 潍坊市| 中西区| 土默特左旗| 江安县| 保亭| 河曲县| 稷山县| 苏尼特左旗| 焦作市| 松溪县| 原阳县| 安远县| 浮梁县| 南陵县| 虎林市| 勃利县| 东乌珠穆沁旗| 桦川县| 黔南| 许昌县| 读书| 皋兰县| 射阳县| 浪卡子县| 天长市| 家居| 桐庐县| 仁寿县| 贺兰县| 乌兰浩特市| 民权县| 邛崃市| 射洪县|