This is an old revision of the document!
Lite mer om klasser
Jag kommer att ha genomgång av mina exempel nedan och då kommer jag att förklara följande:
- Abstrakt basklass
- Arv
- Singleton klass
- Överlagring av metoder
När ni har fått kläm på hur detta fungerar så kommer ni förhoppningsvis se vissa fördelar med att använda er av denna kunskap. Till att börja med så kommer jag att tvinga er till vissa saker, se nedan.
Uppgift
Du skall göra följande:
- Gör en kopia av ditt arbete på mvc (Model View Controll), kalla den mvc2 (tips skapa även ett nytt projekt i eclipse)
- I mvc2 skall du byta ut dina klasser service_db och service_session mot klasserna nedan.
- I mvc2 skall alla dina model klasser ärvas från model_table nedan.
- Du skall anpassa och optimera din kod till detta, din kod skall i så stor grad som möjligt använda sig funktionerna som finns i dessa klasser.
När du är klar och känner dig nöjd med det du har gjort så säger du till mig så skall jag kolla om du har utnyttjat fördelarna med objektorienterad programmering på ett godkänt sätt. Det skadar inte att du kollar över din index.php och jämför den med min index.php och min setup.php.
Warning: highlight_file(../../code/mvc2/classes/service/db.php): failed to open stream: No such file or directory in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 3
Warning: highlight_file(): Failed opening '../../code/mvc2/classes/service/db.php' for highlighting in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 3
Warning: highlight_file(../../code/mvc2/classes/model/table.php): failed to open stream: No such file or directory in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 5
Warning: highlight_file(): Failed opening '../../code/mvc2/classes/model/table.php' for highlighting in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 5
Warning: highlight_file(../../code/mvc2/classes/model/user.php): failed to open stream: No such file or directory in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 7
Warning: highlight_file(): Failed opening '../../code/mvc2/classes/model/user.php' for highlighting in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 7
Warning: highlight_file(../../code/mvc2/classes/service/session.php): failed to open stream: No such file or directory in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 9
Warning: highlight_file(): Failed opening '../../code/mvc2/classes/service/session.php' for highlighting in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 9
index.php
Warning: highlight_file(../../code/mvc2/htdocs/index.php): failed to open stream: No such file or directory in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 11
Warning: highlight_file(): Failed opening '../../code/mvc2/htdocs/index.php' for highlighting in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 11
setup.php
Warning: highlight_file(../../code/mvc2/include/setup.php): failed to open stream: No such file or directory in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 13
Warning: highlight_file(): Failed opening '../../code/mvc2/include/setup.php' for highlighting in /home/pers/daniel/public_html/webapp/dokuwiki/inc/parser/xhtml.php(549) : eval()'d code on line 13
if($_POST['a']=='InsertItem') { if (!$_POST['Item']) { $session->AddError('You can\'t post empty item...'); header ('location: ' . INDEX . '?c=' . $_GET['c'] . '&a=' . $_GET['a']); exit(); } $data = array ( 'Item' => $_POST['Item'], 'UserID' => $session->Get('UserID'), 'ThreadID' => $_POST['ThreadID'] , 'CreateDate' => date('Y-m-j H:i:s'), 'ChangeDate' => date('Y-m-j H:i:s') ); $forum->InsertItem($data); $session->AddSuccess('Item saved!'); header ('location: ' . INDEX . '?c=' . $_GET['c'] . '&a=' . $_GET['a'] . '&id=' . $_POST['ThreadID']); exit(); }