[PHP-users 10635] Re: pear DBオブジェクトのセッションでの受け渡し

Taku Ito php-users@php.gr.jp
Tue, 8 Oct 2002 13:52:38 +0900


はじめまして
伊藤と申します
いつも勉強させて頂いております。

> 
> 
> 濱井です。
> 2002/10/08 10:04:55 +0900にsmatsui@internet-inc.co.jpさんが送られた
> メールに関する返信です。
> 
> >pear DBのオブジェクトをセッションを使って持ち回そうと思っているのですが、
> >うまくいきません。お知恵をお貸し頂ければ幸いです。
> 
> オブジェクトって、スクリプトが完了すると解放されるはずで、持ち回ること
> はできないのでは。
> オブジェクトなどのリソースをスクリプト完了後も握っているとリソース不足
> に陥ることになるので、基本的にスクリプト完了後すぐに解放しているはず
> です。

セッションでのオブジェクトの保存方法ですが、serialize() を使ってみてはいかがでしょうか。
私自身使ったことはないので、すぐに実装方法を提案できるレベルではありませんが、
serialize() と unserialize()を使って、オブジェクト<->保存可能な文字列 の変換が可能な
ようです。

問題は、内部で持つDBのコネクションの維持の方法ですが、特殊関数__sleep,__wakeup
などを使ってコネクションの解放と接続をうまく作ればなんとかなるような気がします。

ご参考までに:
serialize()
http://www.php.net/manual/ja/function.serialize.php
オブジェクトのシリアル化 - セッションでのオブジェクト
http://www.php.net/manual/ja/language.oop.serialization.php
特殊関数__sleep および __wakeup
http://www.php.net/manual/ja/language.oop.magic-functions.php

> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> 
>