Voor het toevoegen van bijvoorbeeld een artikel heb ik nu één action class, ArticleAction.class.php.
Moet ik nu voor het bewerken een nieuwe action class maken, ArticleEditAction.class.php, of moet ik op het moment van de edit bijvoorbeeld een ID meesturen en wanneer de action class een id krijgt weet hij dat het om een edit gaat?
Het zelfde voor het ophalen van artikelen, moet dat ook via een action class, denk aan de afhandelingen bestaat het artikel, is er wel een artikel opgegeven?
Heb je wel eens gehoord van CRUD? dat staat voor Create Read Update & Delete.
Dat staat vaak in 1 klasse ik weet niet of je een design pattern gebruikt of niet, maar het is uiteindelijk je eigen keuze hoe je het opdeelt.
Als ik jou was zou ik de bewerken "update" functie gewoon toevoegen aan je ArticleAction.php.
Volgens mij zie je het verkeerd. Een article is een object.
<?php
$article = new Article();
?>
Dit object (het artikel) bevat meerdere functies (in een class ook wel "methods" genoemd) en properties (eigenschappen).
Je moet dan bijvoorbeeld aan zoiets denken:
<?php
class Article {
private $author;
private $text;
private $title;
public function __construct($author) {
$this->author = $author;
}
public function getAuthor() {
return $this->author;
}
public function setText($text) {
$this->text = $text;
}
public function getText() {
return $this->text;
}
public function editText($text) {
$this->text = $text;
}
}
?>
En dan gaan we een artikel aanmaken:
<?php
$article = new Article('Tom Swinkels');
$article->setText('Het is bijna lente!');
echo 'Auteur is: ' . $article->getAuthor();
echo 'Tekst: ' . $article->getText();
?>
Dit is maar even een simpel voorbeeld, maar het gaat vooral om het idee hoe OOP werkt.
Maar je hoeft toch niet een aparte action class te maken? Je kan toch een update/edit method maken in je Article class? Ik zie niet in waarom je een aparte action class zou maken.