• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        php:用序列化或session對象讓oo進行到底

        php:用序列化或session對象讓oo進行到底

        更新時間:2022-04-29 文章作者:未知 信息來源:網絡 閱讀次數:

        php:用序列化或session對象讓oo進行到底


        php支持面向對象編程,這使得我們在編程時可以盡可能使用類及對象來簡化

        我們的程序,減少代碼維護的工作量.

        可是由于變量到腳本執行完畢就釋放,我們本頁所生成的對象想在其它頁面使用時

        便碰到了麻煩.可是,在很多情況下,有些任務在一兩個頁面是無法完成的.如果能夠

        將對象及其方法傳遞到我們想使用對象的頁面,那豈不是個很好的主意.

        雖然用get 或post的hide方法傳遞對象變量然后在新頁面建立一新的對象,再然后

        用構造函數來初始化新對象,好像也行的通,可是......,很麻煩,想必大家能想像得到吧.

        經過長時間的嘗試,現總結兩種方法來傳遞對象.

        一種,序列化(php4才具有的功能),利用這個功能我們可以將對象序列化,然后在我們需要

        的頁面將對象變量反序列化來使用.

        舉例如下:

        //*********class.php 定義類*********
        <?
        class a
        {
        var $a;
        var $b;
        var $c;
        function a($x,$y)
        {
        $this->a=$x;
        $this->b=$y;
        $this->give_var_value();
        }

        function give_var_value()
        {
        for($i=0;$i<100;$i++)
        {
        $this->c[$i]=$i;
        }
        }

        function show_var_value()
        {
        echo $this->a.$this->b."<br>";
        for($i=0;$i<100;$i++)
        {
        echo "c[$i]=".$this->c[$i]."<br>";
        }

        }

        }

        ?>

        //**************a.php 建立對象并序列化**************
        <?

        require_once("class.php");

        $a=new a("hello,","world!");

        $s = serialize($a); //序列化對象a

        $fp = fopen("store", "w");//以"w"方式打開一文件并獲得文件句柄,請在此注意目錄屬性.

        fputs($fp, $s);//寫入文件

        fclose($fp);//關閉文件句柄

        ?>

        //**************b.php 反序列化對象并調用其方法**************

        <?

        require_once("class.php");//由于序列化對象不能序列化其方法,所以必須require class.php文件

        $s = implode("", @file("store"));

        $a = unserialize($s);

        $a->show_var_value();

        ?>



        以上例子在win2k server apache2.0.36 php4.2.1調試通過


        序列化只能用于有限用戶的情況下,因為需要為每個用戶建立文件,要主意目錄的權限,而且保證文件名不能重復.在用戶不能正常退出

        瀏覽器的情況下,不能保證文件被刪除.所以這種方法用在后臺管理時比較方便.


        當用戶數量很多時,我們可以用session來保存對象.因為session文件是由系統來管理的,所以我們不必為文件的建立,

        刪除,目錄權限等問題而傷腦筋.示例如下:

        //*******************a1.php 將對象注冊為session變量****************

        <?

        require_once("class.php");

        session_start();

        $_SESSION["a"]=new a("hello,","world!");

        ?>

        //*******************b1.php 使用session變量****************

        <?

        require_once("class.php");//同樣,注冊對象為session變量時并不能保存其方法,所以必須require class.php文件

        session_start();

        $_SESSION["a"]->show_var_value();

        ?>

        以上例子在win98se apache2.0.36 php4.2.1調試通過


        附錄:現將對象序列化以及注冊為session變量的文件粘貼如下,希望有心人能分析出一二來供大家參考.

        序列化文件:

        O:1:"a":3:{s:1:"a";s:6:"hello,";s:1:"b";s:6:"world!";s:1:"c";a:100:{i:0;i:0;i:1;i:1;i:2;i:2;
        i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;i:7;i:8;i:8;i:9;i:9;i:10;i:10;i:11;i:11;i:12;i:12;i:13;i
        :13;i:14;i:14;i:15;i:15;i:16;i:16;i:17;i:17;i:18;i:18;i:19;i:19;i:20;i:20;i:21;i:21;i:22;i:2
        2;i:23;i:23;i:24;i:24;i:25;i:25;i:26;i:26;i:27;i:27;i:28;i:28;i:29;i:29;i:30;i:30;i:31;i:31;
        i:32;i:32;i:33;i:33;i:34;i:34;i:35;i:35;i:36;i:36;i:37;i:37;i:38;i:38;i:39;i:39;i:40;i:40;i:
        41;i:41;i:42;i:42;i:43;i:43;i:44;i:44;i:45;i:45;i:46;i:46;i:47;i:47;i:48;i:48;i:49;i:49;i:50
        ;i:50;i:51;i:51;i:52;i:52;i:53;i:53;i:54;i:54;i:55;i:55;i:56;i:56;i:57;i:57;i:58;i:58;i:59;i
        :59;i:60;i:60;i:61;i:61;i:62;i:62;i:63;i:63;i:64;i:64;i:65;i:65;i:66;i:66;i:67;i:67;i:68;i:6
        8;i:69;i:69;i:70;i:70;i:71;i:71;i:72;i:72;i:73;i:73;i:74;i:74;i:75;i:75;i:76;i:76;i:77;i:77;
        i:78;i:78;i:79;i:79;i:80;i:80;i:81;i:81;i:82;i:82;i:83;i:83;i:84;i:84;i:85;i:85;i:86;i:86;i:
        87;i:87;i:88;i:88;i:89;i:89;i:90;i:90;i:91;i:91;i:92;i:92;i:93;i:93;i:94;i:94;i:95;i:95;i:96
        ;i:96;i:97;i:97;i:98;i:98;i:99;i:99;}}

        session文件:

        a|O:1:"a":3:{s:1:"a";s:6:"hello,";s:1:"b";s:6:"world!";s:1:"c";a:100:{i:0;i:0;i:1;i:1;i:2;i:
        2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;i:7;i:8;i:8;i:9;i:9;i:10;i:10;i:11;i:11;i:12;i:12;i:13
        ;i:13;i:14;i:14;i:15;i:15;i:16;i:16;i:17;i:17;i:18;i:18;i:19;i:19;i:20;i:20;i:21;i:21;i:22;i
        :22;i:23;i:23;i:24;i:24;i:25;i:25;i:26;i:26;i:27;i:27;i:28;i:28;i:29;i:29;i:30;i:30;i:31;i:3
        1;i:32;i:32;i:33;i:33;i:34;i:34;i:35;i:35;i:36;i:36;i:37;i:37;i:38;i:38;i:39;i:39;i:40;i:40;
        i:41;i:41;i:42;i:42;i:43;i:43;i:44;i:44;i:45;i:45;i:46;i:46;i:47;i:47;i:48;i:48;i:49;i:49;i:
        50;i:50;i:51;i:51;i:52;i:52;i:53;i:53;i:54;i:54;i:55;i:55;i:56;i:56;i:57;i:57;i:58;i:58;i:59
        ;i:59;i:60;i:60;i:61;i:61;i:62;i:62;i:63;i:63;i:64;i:64;i:65;i:65;i:66;i:66;i:67;i:67;i:68;i
        :68;i:69;i:69;i:70;i:70;i:71;i:71;i:72;i:72;i:73;i:73;i:74;i:74;i:75;i:75;i:76;i:76;i:77;i:7
        7;i:78;i:78;i:79;i:79;i:80;i:80;i:81;i:81;i:82;i:82;i:83;i:83;i:84;i:84;i:85;i:85;i:86;i:86;
        i:87;i:87;i:88;i:88;i:89;i:89;i:90;i:90;i:91;i:91;i:92;i:92;i:93;i:93;i:94;i:94;i:95;i:95;i:
        96;i:96;i:97;i:97;i:98;i:98;i:99;i:99;}}

        注:上述文章無版權保護,可以任意修改,傳播.如有異議,請mailto:chensiping@sina.com.

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 久久久久精品国产亚洲AV无码| 亚洲麻豆精品国偷自产在线91| 亚洲综合区图片小说区| 精品成人免费自拍视频| 午夜亚洲www湿好大| 中文字幕免费视频| 亚洲成人免费在线观看| 青青草免费在线视频| 456亚洲人成在线播放网站| 成年女人免费v片| 亚洲AⅤ男人的天堂在线观看| 白白国产永久免费视频| 免费一级全黄少妇性色生活片| 国产成人精品亚洲精品| 日韩视频在线观看免费| 亚洲国产精品午夜电影| 成年人免费观看视频网站| 男人和女人高潮免费网站| 亚洲国产一二三精品无码| 在线观看永久免费| 亚洲精品国产av成拍色拍| 亚洲国产免费综合| 国产午夜免费高清久久影院| 亚洲欧洲综合在线| 国产精品无码素人福利免费| 国产精品九九久久免费视频| 中文字幕亚洲精品资源网| 免费鲁丝片一级在线观看| a级毛片免费高清视频| 亚洲欧洲在线播放| 免费**毛片在线播放直播| 你懂的免费在线观看网站| 亚洲精品免费网站| 亚洲老妈激情一区二区三区| 1000部啪啪毛片免费看| 国产亚洲精品美女久久久久久下载| 精品亚洲视频在线观看| 免费观看AV片在线播放| 一个人晚上在线观看的免费视频| 伊人久久综在合线亚洲2019| 日本不卡视频免费|