MVC nieuwsbericht en user

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hipska BE

Hipska BE

07/06/2008 20:54:00
Quote Anchor link
Hallo, ik ben voor een hobby projectje begonnen aan een nieuwssyteempje en wil dit met MVC gaan maken. (of toch proberen iets dat er op lijkt hehe)

Nu ben ik bezig met het maken van het model 'nieuwsbericht', met deze vars:
$ID,$title,$content,$lang,$pubDate

Ik wil nog ook erbij welke persoon die post heeft aangemaakt, dus dacht ik ik zet deze erbij:
$userID,$userName
Maar is dit wel correct?

Neem ik niet beter een var $user die een instantie is van het model 'user' om dan $user->id en $user->name te kunnen doen?
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
 
PHP hulp

PHP hulp

28/12/2024 11:39:52
 
Jan geen

Jan geen

07/06/2008 21:08:00
Quote Anchor link
Ligt er een beetje aan, als je veel van User nodig hebt binnen 'Nieuwsbericht' zou ik een User bij houden, anders kan je er voor kiezen alleen een user_id bij te houden.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// In nieuwsbericht
public function setUser(User $user) {
    if(User::findById($user->getID() == NULL) throw new InvalidArgumentException("Geen geldige gebruiker");
    $this->user_id = $user->getID();
}


public function getUser() {
    return User::findById($this->user_id);
}


//Waar je het artikel weergeeft kan je dan iets doen als
echo "Gemaakt door: " . $nieuwsbericht->getUser()->getNaam();
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan geen
 
Hipska BE

Hipska BE

07/06/2008 21:40:00
Quote Anchor link
bedoeling zou zijn om zijn naam te tonen en met een link dmv zijn userid

zoals je meestal ziet bij nieuws systemen
 
Jelmer -

Jelmer -

07/06/2008 22:03:00
Quote Anchor link
Je kan het ook combineren: Je laat het fetchen over aan een aparte klasse, en die makt de nieuwsbericht-instanties aan, en koppelt daar de user-instanties - op basis van de in de query opgehaalde data - aan vast.

Zie ook dit topic op PHPfreakz
 
Hipska BE

Hipska BE

07/06/2008 22:34:00
Quote Anchor link
Dat artikel is ongeveer precies hetzelfde probleem als het mijne :-)
Bedankt Jelmer.

Dus stel voor om het op de 2de methode te doen? Dus data meteen joinen in de query en een $userID en $userName hebben in het model?
 
Crispijn -

Crispijn -

08/06/2008 00:29:00
Quote Anchor link
Ja, zeker meteen joinen. Het is niet alleen complex qua programmeren maar ik denk dat de snelheid uiteindlijk ook achteruit gaat. Voor dit soort kleine stukjes data kan je prima delen 'opnieuw' zoeken in de database.

Mooi voorbeeld dat idealiter zo'n MVC model bedacht wordt, maar dat in combinatie met een genormaliseerde database er niet altijd 1 lijn te trekken is. Daarom is het goed MVC wel in je achterhoofd te houden, maar niet koste wat het kost aan dit te blijven vasthouden.

Ben wel benieuwd naar je hobbie projectje ;) Wat is je uiteindelijke doel? Vooral dingen leren of iets voor de publicatie?
 
Hipska BE

Hipska BE

08/06/2008 00:36:00
Quote Anchor link
Ik ben begonnen aan een multi-talen nieuwssysteem voor een homepage van een game dat ik aan het maken ben.
Dus ja, ooit zou het allemaal moeten werken en online staan :p
Of bedoel je met publicatie de code publiceren? Ja ms komen er wel onderdelen van code naar buiten..
En doel is ook vooral wat bijleren van het oop gebruik in php en mvc (oop in JAVA kan ik al gedeeltelijk), waarvoor zijn hobby projectjes anders ;-)


Ik heb nu zo in gedachten dat ik er van uit ga dat de gebruikersnaam via een join meegekregen wordt en in het geval moest dat niet gebeurd zijn, dan vraagt ie als nog via een of andere manier die gebruikersnaam op.
 



Overzicht Reageren

 
 

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.