PHP objecten in een relatief kleine s, hoe ver moet ik gaan?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een cms-je in PHP, zo'n 7 onderdelen, elk zo'n 4 tot 6 pagina's (toevoegen, bewerken, verwijderen, overzicht). De onderliggende onderwerpen (nieuws, gastenboek, agenda) lenen zich prima voor objecten.

Maar ik worstel nog met een generieke manier om de pagina's zelf op te bouwen. Sowieso gebruik ik bijv. een include voor de header en footer, maar zou ik nog een stap verder gaan om pagina's zelf te promoveren tot object? Zou het dan mogelijk zijn om bijvoorbeeld formulieren en errorhandling in dat object te generaliseren? Ik kan moeilijk inschatten of dat kan werken en de moeite waard is.

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Ik kan je nu al zeggen: dat is niet de moeite waard behalve als je binnenkort meer van dit soort opdrachten krijgt en je de kosten van ontwikkeling keer-op-keer kunt doorberekenen ;)

KISS (Keep It Simple, Stupid ;) )

edit:
Kijk voor de gein eens voor hoet het niet moet naar Horde. Zelfs het <a> element is daar een object...

Zwaaaaaaaar overdreven als je het mij vraagt...

[ Voor 29% gewijzigd door SchizoDuckie op 07-02-2005 16:50 ]

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 12:54
Ja dat kan, heb je al eens naar de mogelijkheden van PHP5 gekeken? Er zijn zat informatiebronnen te vinden waarin dit al gerealiseerd is. Zo zijn er lossie formulierhandlers, maar ook complete CMS-en die OOP-style gemaakt, ik neem aan dat je bekend met object georienteerd programeren aangezien je het over objecten hebt.

Met relatief weinig code, weinig onderhoud vooral als je gaat uitbreiden erg handig, kun je al heel snel pagina's gaan genereren.

[ Voor 15% gewijzigd door Sybr_E-N op 07-02-2005 16:36 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik gebruik nog geen PHP4, maar ik ben inderdaad met OOP redelijk bekend (vanuit Java, nog niet zo zeer met PHP). Ik ben bang zoals SchizoDuckie zegt te veel hooi op m'n vork te nemen voor te weinig resultaat. Ook omdat ik alles zelf wil doen, ik ben principieel tegen het gebruik van andermans code, omdat ik écht nog helemaal zelf wil leren.

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
In m'n PHP5 code zijn al m'n pagina's subclasses van het PHP5 native DomDocument, al dan niet gekoppeld aan een extended klasse van Xsltprocessor. Werkt (voor mij) heel fijn dus, pagina's als objecten :)

Ook in PHP4 zijn al m'n pagina's objectstructuren, maar dan met een zelf gebreid templating systeempje ipv DOM/XSLT.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op maandag 07 februari 2005 @ 16:57:
Ik gebruik nog geen PHP4, maar ik ben inderdaad met OOP redelijk bekend (vanuit Java, nog niet zo zeer met PHP). Ik ben bang zoals SchizoDuckie zegt te veel hooi op m'n vork te nemen voor te weinig resultaat. Ook omdat ik alles zelf wil doen, ik ben principieel tegen het gebruik van andermans code, omdat ik écht nog helemaal zelf wil leren.
Op zich best jammer dat je het allemaal zelf wilt doen want er zijn al een hoop dingen eerder goed uitgedacht. Zoiets als OO-formulieren bijvoorbeeld als onderdeel van PEAR. De opbouw, server- en clientside controle, validatie, een hoop standaard elementen en zelfs een renderer voor de meest gebruikte template engines.

Ik zou er eens naar kijken... en als je toch besluit kan je er altijd nog iedeeën op doen....

http://pear.php.net/manua...ml-quickform.tutorial.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
// Load the main class
require_once 'HTML/QuickForm.php';

// Instantiate the HTML_QuickForm object
$form = new HTML_QuickForm('firstForm');

// Set defaults for the form elements
$form->setDefaults(array(
    'name' => 'Joe User'
));

// Add some elements to the form
$form->addElement('header', null, 'QuickForm tutorial example');
$form->addElement('text', 'name', 'Enter your name:', array('size' => 50, 'maxlength' => 255));
$form->addElement('submit', null, 'Send');

// Define filters and validation rules
$form->applyFilter('name', 'trim');
$form->addRule('name', 'Please enter your name', 'required', null, 'client');

// Try to validate a form 
if ($form->validate()) {
    echo '<h1>Hello, ' . htmlspecialchars($form->exportValue('name')) . '!</h1>';
    exit;
}

// Output the form
$form->display();
?>
Pagina: 1