私は主に Ruby と Merb で DataMapper を使用しているので、DataMapper に似た PHP ORM を探しています。良いものはありますか?
6 に答える
Doctrineも同様の方法で実装されていると思います。
phpDataMapperプロジェクトは、特に Ruby の DataMapper のように作成されました。プロジェクトに興味がある場合は、私を助けてください!プロジェクトをより迅速に拡大するために、Ruby DataMapper を知っている人をもっと探しています。
GitHub プロジェクト ページ: https://github.com/vlucas/phpDataMapper/tree
Propel は php5 の ORM です。XPDOも参照してください。
db.php orm ( http://dbphp.net ) があり、リストしたすべてのことを行いますが、memcache をサポートしていません。代わりに apc ユーザー キャッシュ関数を使用し、 \db\cache 基本クラスを拡張するだけでキャッシュ エンジン クラスをオーバーライドする機能も提供します。そのように(元はこれはapcuを使用したdb.phpのロングキャッシュクラスです):
class long extends cache
{
function store ($name, $value)
{
if (is_bool($value))
{
\apc_delete ($name);
}
else
{
\apc_store ($name, $value);
}
}
function fetch ($name)
{
return \apc_fetch ($name);
}
function clear ()
{
\apc_clear_cache ('user');
}
}
したがって、次のようなクラスを実装しmymemcache extends \db\cache
、後でこの 3 つのメソッドをオーバーライドすると、次のようにキャッシュ エンジンを orm にアタッチできます。
$database->context->caches[\db\cache::long] = new mymemcache();
そして物事は順調に進みます。
そのように \db\cache を拡張するだけで、特定の環境用のカスタム キャッシュ エンジンを開発しました。
これまで DataMapper に取り組んだことはありませんが、ROR と非常によく似た ORM を持つ Cakephp フレームワークを確認できます。