2

PHPとMySQLを使用したいWebサイトで作業しています。ほとんどの場合、MySQLデータベースに何百もの変数を挿入しますが、これにうんざりしています。私は解決策をインターネットで検索しましたが、成功しませんでした。

私のウェブサイトはオブジェクト指向PHPを使用しており、インスタンス全体をデータベースに挿入したいと思います。例:

class User
{
     private $userID;
     private $username;
     // etc

     public function __construct($userID, $username)
     {
           $this->userID = $userID;
           $this->username = $username
     }

     // Other functions go here
}

インスタンス全体($ user = new User($ x、$ y))をMySQLデータベースに保存できるかどうか知りたいです。可能であれば、どのフィールドタイプが必要ですか?

前もって感謝します。

4

3 に答える 3

2

探しているのは、おそらくORM(オブジェクトリレーショナルマッパー)です。これを使用すると、オブジェクトをデータベース内のテーブルに直接マップできます。

たとえば、いくつかのPHPORMが利用可能です。

このようなライブラリを使用するとパフォーマンスにかなりの影響を与える可能性があるという事実にも注意する必要がありますが、キャッシングやその他のソリューションを使用すると、これを軽減できます。

于 2012-07-25T17:49:14.663 に答える
2

オブジェクトをなんらかの方法でシリアル化し、テキストフィールドに保存する必要があります。PHPのネイティブのserialize() / unserialize()を使用するか、単純な値オブジェクトの場合はjson_encode() / json_decode( )を使用できます。2つの詳細/比較については、このスレッドを参照してください

于 2012-07-25T17:53:32.703 に答える
-1

インスタンスをデータベースに保存することはできません。インスタンスはメモリを占有しているため、コンパイラを使用するとクラスの状態が保存されます。ただし、Manu Letrollは、作業を容易にするためにormを使用する必要がある優れたソリューションを提供しています。

于 2012-07-25T17:56:14.143 に答える