Versio

Active Record Objects

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

BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  

PHP script bestanden

  1. active-record-objects

 

5 reacties op 'Active Record Objects'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Bas Kreleger
Bas Kreleger
4 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 van de Water
Roel van de Water
4 jaar geleden
 
0 +1 -0 -1
Wat is het nut hiervan?
Jelmer rrrr
Jelmer rrrr
4 jaar geleden
 
0 +1 -0 -1
Waar is de ActiveRecordObject class zelf?
Jurgen assaasas
Jurgen assaasas
4 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.
Kees Schepers
kees Schepers
4 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.

  • Labels
  • Geen tags toegevoegd.
Get Adobe Flash player