Er dette MVC?

Tags:    php

Hej allesammen!

Ved godt at i nok er ved at være trætte af de her indlæg og skal nok (prøve) at love at dette bliver et af de sidste, er bare nød til at have at vide om jeg har fat i det rigtige.
Har indtil videre ikke haft brug for en View class til filer, så har indtil videre bare lavet Model og Controller.

File_Model:
Fold kodeboks ind/udPHP kode 


DocX Controller:
Fold kodeboks ind/udPHP kode 


Koden er ikke færdig... :)

PS: Hvis der er nogen der lige kan spotte fejlen i close() ville det være super, den siger at resource ikke er en valid stream... Men det er den?!



din file close er korrekt såfremt det filename_key du giver er navnet på en åbnet fil eller at active_key er navnet på en åbnet fil.
Den er tilgengæld forkert hvis du ikke har åbnet nogen filer over hovedet, så du bør nok teste om det argument du giver den filename_key nu faktisk også findes i fileHandles eller om activeFile findes i fileHandles.
Din addFile er forkert i det at den sætter activeFile til at være længden af fileHandles-1, men du skal jo huske at du gemmer i fileHandles med filernes navne men når du senere prøver at indeksere med activeFile er activeFile bare et tal ikke det index du gemte filehandlen under.



Indlæg senest redigeret d. 28.10.2008 22:17 af Bruger #5620
Ah, ja tak for fejl-spot'sne!
Men noget om min MVC opbygning?



Ikke rigtigt, for mig ser det mest ud som om at det du kalder for en model mest ligner en generel DataAccessor og kan sammenlignes med et database objekt.
Din File klasse ligner mere en adapter der læser indholdet af en bestemt type filer, ved brug af den generelle DA.

Altså grundlæggende ligner det et Adapter Pattern... :)



Pis... Hvad skal jeg så gøre?! Ville rigtig gerne lære MVC pattern, men der er ingen gode forklaringer rundt om på nettet..!



umiddelbart hvis jeg skulle lave mvc som jeg læser beskrivelsen på wikipedia.

ville mine View være klasser der hentede data fra en model og generet en webside eller en del af en webside med disse data.

Min Model ville andre klasser som havde indgangs funktioner til at kunne tilgås af controller og udgangs functioner til at kunne tilgås af views.

Min controller ville så være en klasse eller flere klasser som bliver oprettet nå brugeren klikker et link/knap/besøger siden, ville formentlig havne med at blive kontrolleret fra index filen, kontrolleren skulle så ud fra $_GET og $_SET kalde de rigtige funktioner i en Model klasse.

Men om det så er kontrolleren der skal lave kalde den rigtige view klasse eller om det er modellen kan jeg ikke rigtig finde ud af :).

ville nok ende om med noget i retning af dette, de 3 data klasser er gemt af model klassen, control klassen bliver kaldt når filen loades og checker her op må $_GET værdier i urlen, laver en instans af model klassen og kalder en function i denne og derefter kalder den en view klasse med modellen som parameter.

control og view er kun statiske her fordi jeg valgte dem til at være det ikke fordi jeg mener de skal være det.
Fold kodeboks ind/udKode 














Ok, men Modelen er fin nok? Det er kun controlleren den er gal med? I så fald hvad skal der være i en File model?



MVC er meget afhængig af "view" delen. Hele pointen med MVC er netop at adskille program kode fra din HTML kode.

Der findes en del populære MVC frameworks der ude bl.a. Akelos. Jeg har selv udviklet mit eget som jeg stadig tweaker lidt, men er efterhånden ret glad for det. Dejligt nemt at arbejde i og super overskuelig kode. Jeg har dog valgt at undlade model delen og hente min database igennem min controller. Det kan være jeg udvider det på et tidspunkt.

Mit problem med mange frameworks er at jeg syntes mange af dem laver overkill med en masse funktioner som i bund og grund tager længere tid at lære end selv at udvikle de funktioner man har behov for.



Det er vel ikke MVC hvis du ikke bruger models...?



t