Hey Guys!
Ich will mir in Verbindung mit PHP5 und MySQL ein CD-Archiv schreiben. Nun hatte ich schon vorher eine Variante gebastelt, wollte jetzt aber alles nochmal neu machen und dabei wollte ich eigentlich OOP verwenden. Leider empfinde ich das jetzt als schwierig mich in dieses ganze OOP-Getue einzudenken.
z.B. sollen ja alle Daten in eine Datenbank geschrieben werden, was bringt es mir also, Klassen aufzubauen und Objekte zu erzeugen?
Außerdem habe ich ein Problem mit dem Aufbau der Klassen und des ganzen Scripts sowieso.
Wie sieht das z.B. mit den "INSERT"-Befehlen aus? Sollen diese nun Methoden der Klasse "Programme" sein oder ganz "normale" Funktionen oder nochnichmals das?
Wie ihr seht, kann ich mich nicht wirklich in diese OOP-Materie eindenken. Vielleicht bringt es ja was, wenn ich mal meine Überlegungen mit einbringe.
Also das hier ist was ich mir bis jetzt theoretisch(!) ausgedacht habe, so für den aufbau der Klassen:
Die Tabelle ist so aufgebaut:
Mir scheint der Nicht-objektorientierte Aufbau des Scripts wesentlich einfacher und logischer, aber wie gesagt, wenn's geht würde ich es schon gerne in OOP aufbauen!
Danke für eure Hilfe,
Muuhmann
Ich will mir in Verbindung mit PHP5 und MySQL ein CD-Archiv schreiben. Nun hatte ich schon vorher eine Variante gebastelt, wollte jetzt aber alles nochmal neu machen und dabei wollte ich eigentlich OOP verwenden. Leider empfinde ich das jetzt als schwierig mich in dieses ganze OOP-Getue einzudenken.
z.B. sollen ja alle Daten in eine Datenbank geschrieben werden, was bringt es mir also, Klassen aufzubauen und Objekte zu erzeugen?
Außerdem habe ich ein Problem mit dem Aufbau der Klassen und des ganzen Scripts sowieso.
Wie sieht das z.B. mit den "INSERT"-Befehlen aus? Sollen diese nun Methoden der Klasse "Programme" sein oder ganz "normale" Funktionen oder nochnichmals das?
Wie ihr seht, kann ich mich nicht wirklich in diese OOP-Materie eindenken. Vielleicht bringt es ja was, wenn ich mal meine Überlegungen mit einbringe.
Also das hier ist was ich mir bis jetzt theoretisch(!) ausgedacht habe, so für den aufbau der Klassen:
PHP:
<?php
class cd{
var $bid //ID desjenigen, der die CD ausgeliehen hat
var $title //Titel halt
var $quantity //Anzahl der CDs
var $discription //Beschreibung
var $date //datum der letzten Änderung
}
class moviez extends cd{
var $genre
function insert($id, $title, ...) { //ganzen übergabe Variablen halt
/* soll jetzt hier der INSERT-Befehl hin oder sowas wie $thist->title[$id] = $title */
}
function update(...) {
//s. insert
}
function delete(...) {
//s. insert
}
}
class appz extends cd{
//das gleiche wie bei "class moviez" nur in Grün ;)
}
?>
Die Tabelle ist so aufgebaut:
Code:
-- phpMyAdmin SQL Dump
-- version 2.7.0-pl1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 14. April 2006 um 19:52
-- Server Version: 5.0.18
-- PHP-Version: 5.1.1
--
-- Datenbank: `cd_archiv_v2`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `borrowed`
--
CREATE TABLE `borrowed` (
`id` int(10) unsigned NOT NULL,
`name` varchar(50) collate latin1_german1_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci COMMENT='Tabelle für alle die CDs ausleihen';
--
-- Daten für Tabelle `borrowed`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `movies`
--
CREATE TABLE `movies` (
`id` int(10) unsigned NOT NULL auto_increment COMMENT 'id der CD',
`bid` int(10) unsigned default NULL COMMENT 'id der Person die ausgeliehen hat',
`titel` varchar(100) collate latin1_german1_ci NOT NULL,
`genre` varchar(100) collate latin1_german1_ci NOT NULL,
`quantity` int(10) unsigned NOT NULL,
`discription` mediumtext collate latin1_german1_ci NOT NULL,
`date` date default NULL,
PRIMARY KEY (`id`),
KEY `titel` (`titel`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci COMMENT='Tabelle für Filme' AUTO_INCREMENT=1 ;
--
-- Daten für Tabelle `movies`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `progs`
--
CREATE TABLE `progs` (
`id` int(10) unsigned NOT NULL auto_increment COMMENT 'id der CD',
`bid` int(10) unsigned default NULL COMMENT 'id der Person die ausgeliehen hat',
`titel` varchar(100) collate latin1_german1_ci NOT NULL,
`type` enum('CD','DVD') collate latin1_german1_ci NOT NULL,
`quantity` int(10) unsigned NOT NULL,
`discription` mediumtext collate latin1_german1_ci NOT NULL,
`date` date default NULL,
PRIMARY KEY (`id`),
KEY `titel` (`titel`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci PACK_KEYS=0 COMMENT='Tabelle für Programme, Spiele, etc.' AUTO_INCREMENT=1 ;
--
-- Daten für Tabelle `progs`
--
Mir scheint der Nicht-objektorientierte Aufbau des Scripts wesentlich einfacher und logischer, aber wie gesagt, wenn's geht würde ich es schon gerne in OOP aufbauen!
Danke für eure Hilfe,
Muuhmann