Zanima me imam li greške u kodu…(mislim sve radi kak spada)
proceduralna verzija
OOP verzija
Zanima me imam li greške u kodu…(mislim sve radi kak spada)
proceduralna verzija
OOP verzija
Ako je tako - onda nemaš.
To je u principu to. Vrlo jednostavan primjer i dobro si uradio.
npr
http://9tutorials.com/2007/06/27/basic-working-with-files-in-php.html
klasičan primjer osnova rukovanja sa “file”-ovima:
fwrite:
fread:
i unlink:
sam napravio klasu
ikakve primjedbe
Kako otvoriti “text2.txt” datoteku i na kraju te datoteke dodati nešto drugo osim “Something written in PHP”?
Pa samo je jedna text datoteka “text.txt” u ovom slučaju , a unutar varijeble $insert se može drugi tekst stavit , ili ja nisam skužio pitanje
Stvar je u tome šta tvoja klasa može spremiti uvijek jedan isti file, te ne možeš naknadno upisivati tekst.
A takvu klasu ne možeš ponovno koristiti za istu funkcionalnost.
Tvoja klasa se nebi trebala zvati FileHandling nego textTxtFileHandling jer radi samo sa jednim fileom.
a tema se zove proc–>OOP, konkretnije gornji primjer sam pretvorio u OOP
Za domaći rad napravi konstruktor klase koji prima 2 parametra - ime datoteke i tekst koji se ubacuje u datoteku. Tako će svaka instanca objekta raspolagati s vlastitim parametrima. To bi onda imalo više smisla.
Hvala Igor! Kada nađem vremena ću napraviti tako zadatak, iako to ulazi u sferu offtopica EDIT : laganog offtopica mislim
evo update
Eto ga. Bravo.
treba li __destruct ?
Ha, i možeš i ne moraš. Neće se ništa loše dogoditi ni u jednom slučaju.
Što kaže struka
dali je
ekvivalent ovome
u ovom primjeru?
Destruktor ne prima nikakve parametre. Fieldovima filename i insert možeš pristupati direktno preko pokazivača na tekući objekt - this. Dakle drugi primjer je ispravan, prvi nije.
Mogao bi write postavljati kroz metodu write tako da možeš više uzastopnih write. I open i close bi mogle biti public. tako da postoje interface za tu funkcionalnost i da korisnik može sam odabrati što će raditi sa otvorenim fileom.
Nije dobro, toliko grešaka ima da ti je to najbolje napisati od početka.
Aj kad već imaš volje raditi domaće zadaće, probaj ovo
Napravi klasu fileHandler koja sadrži :
Privatna svojstva
-imedatoteke
-resurs (resurs trenutno otvorene datoteke s funkcijom fopen() koji će koristiti metode read, write i close)
Javne metode
konstruktor
open
read
write
close
To je to, ako di zapne postaj tu.
p.s.
Manual je tvoj najbolji prijatelj
Destruct ti netreba, samo u slučajevima kad želiš da se ne nešto izvrši prilkom destrukcije ili ako ju želiš forsirati.