Active Record Objects

Door Rudie dirkx, 14 jaar geleden, 2.463x bekeken

Net een heel verhaal getypt toen de pagina ging herladen ofzoiets, dus maak het nu kort.
Heb het idee uit noodzaak, van internet en van het Prado framework (wat zuigt btw).

Het voorbeeld is een superkleine blog met twee tabellen: users en posts. Beide tabellen krijgen een eigen class: User en Post (met prefix ARO). Beide classes worden afgeleid van ActiveRecordObject, waar de meeste logica in staat. De subclasses zijn voor specifieke taken (updatePassword etc) en type specificatie (pk, kolommen, relaties, etc).

Het is nog niet af, maar ben benieuwd naar feedback. Er moeten nog minstens 2 dingen in:
* DataCenter om dubbele fetches af te vangen (1 pk per type in het DC)
* De tweede ben ik even vergeten... Fack! Tips are welcome ofcourse.

Voor de voorbeelden gebruik ik deze database:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
mysql> select * from users;
+----+----------+----------+----------------+-----------------+---------------+
| id | username | password | name           | email           | bff_friend_id |
+----+----------+----------+----------------+-----------------+---------------+
|  1 | jaap     |          | jaap de vries  | jaap@devries.nl |          NULL |

|  2 | kareltje |          | karel groensma | kg@hotmail.com  |          NULL |

|  3 | kat      |          | belle katrien  | bla@bla.nl      |             1 |

+----+----------+----------+----------------+-----------------+---------------+


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
mysql> select * from posts;
+----+----------------+---------+----------------+-----------------+---------+
| id | parent_post_id | user_id | title          | content         | created |
+----+----------------+---------+----------------+-----------------+---------+
|  1 |           NULL |       1 | test 1         | jaaaaaaaaaa hoo |       0 |
|  2 |           NULL |       1 | test 2         | oeleboele bla b |       0 |
|  3 |              1 |       2 | loser          | je bent een suk |       0 |
|  4 |              1 |       1 | bakkes         | houd je bek dic |       0 |
|  5 |              1 |       2 | sterf          | je moet sterven |       0 |
|  6 |              2 |       2 | je weet het he | ik maak je af,  |       0 |
+----+----------------+---------+----------------+-----------------+---------+


Ik had alle voorbeelden en verschillen heel mooi beschreven, maar daar heb ik nu geen zin meer in. In de code staat commentaar en het voorbeeld en de Db moeten redelijk duidelijk zijn. Vragen beantwoord ik wanneer ik ze zie.

De voorbeeldlink gaat niet naar een php pagina, omdat ik alleen het resultaat heb opgeslagen.

Voorbeeld: http://www.hotblocks.nl/tests/aroresult.html

Gesponsorde koppelingen

PHP script bestanden

  1. active-record-objects

 

Er zijn 5 reacties op 'Active record objects'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Bas Kreleger
Bas Kreleger
14 jaar geleden
 
0 +1 -0 -1
Misschien even de SQL codes erbij zetten ipv een printscreen en een duidelijk omschrijving toevoegen waar je het precies voor gebruikt?
Roel -
Roel -
14 jaar geleden
 
0 +1 -0 -1
Wat is het nut hiervan?
Jelmer -
Jelmer -
14 jaar geleden
 
0 +1 -0 -1
Waar is de ActiveRecordObject class zelf?
Jurgen assaasas
Jurgen assaasas
14 jaar geleden
 
0 +1 -0 -1
Ik denk dat die extend niet klopt. Een AORUser is nl. geen ActiveRecordObject. Deze extend is dus niet netjes. Voor de rest, ik snap eigenlijk niet wat het nut is er van is. Als dit alleen maar users met hun posts in een array zetten is lijkt mij dit erg omslachtig.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Kees Schepers
kees Schepers
14 jaar geleden
 
0 +1 -0 -1
Dit is toch een soort van datamodel? In grote applicaties wel handig!

Even offtopic / niet persoonlijk bedoeld; maar waar is de script libary nou voor eigenlijk ? Dat mensen hier een systeempje posten of bijvoorbeeld een functie/klasse/script posten die een plaatje verkleint genereerd oid?

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. active-record-objects

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.