Funkcje potrzebne przy budowie ORM z PHP? [Zamknięte]

Nigdy tak naprawdę nie doceniałem ORM, więc myślę, że jedynym sposobem zaradzenia temu jest samodzielne zbudowanie tego podstawowego, abym mógł zobaczyć, czym jest ten zgiełk. Mając to na uwadze, jakie są podstawowe funkcje, które powinienem uwzględnić, aby utworzyć pół-użytecznego ORM?

O ile wiem, w zasadzie powinien on pracować w ten sposób dla programisty końcowego:

/*
 * Create a user
 */
$user = new User();
$user->name = 'Joe';
$user->email = '[email protected]';
$user->save();
unset($user);

/*
 * Create a game
 */
$game = new Game();
$game->name = 'soccer';
$game->save();

/*
 * Set all users as players
 */
$users = ORM::factory('users');
$users = $users->findAll();
foreach ( $users as $user ) {
    $user->setGame($game);
    $user->save();
}
unset($users);

/*
 * Get all games and show all users
 */
$games = ORM::factory('games')->findAll();
foreach( $games as $game ) {
    print $game->name;
    print 'Users in game:';
    foreach( $game->users as $user ) {
        print $user->name;
    }
}

Każda klasa modelu rozszerzyłaby klasę ORM, która miałaby wszystkie podstawowe metody

find ($ id)findAll ($ gdzie)zapisać()

Inne przydatne funkcje to:

Może żądać wierszy o określonym identyfikatorzeUser::find(34)Potrafi ograniczyć wiersze wyników za pomocą opcji WHEREPotrafi powiązać jeden obiekt wierszowy z wieloma wierszami z innej tabeli. (Od 1 do wielu)Zapytanie o budowę, aby SQL został napisany automatycznie.

Czy ktoś inny mógłby mi powiedzieć, czego potrzebuję. Patrzyłem na niektóre z takich bibliotekDoktryna, EZPDO, sala sypialna, iKohanaPHP ale nie mogę znaleźć biblioteki, która byłaby łatwa do zrozumienia, aby dowiedzieć się, jaka lista funkcji musiałaby się znaleźć, aby poradzić sobie z tym projektem.

Znalazłemszczegóły obrazu niektóre oferty ruby ​​i trochę więcej informacji na tematIgnitedRecord Projekt.

questionAnswers(1)

yourAnswerToTheQuestion