2.Du har ikke konsistens i behandlingen af dine forespørgsler når du deler dine objekter ud som du har gjort.
Dit
c_query objekt indeholder funktionaliteter som lige så godt kunne være i dit hovedobjekt. Men det vender jeg lige tilbage til.
3.Ikke alene vil den gøre din AJAX mere selvstændig (hvis du har behov for at sætte det i sådan et perspektiv), det vil også lette portering og med kompabilitet. Forestil dig et et objekt du bruger til MySQL kommunikation som kan arbejde selvstændigt - du vil hurtigt kunne opdatere dine eksisterende applikationer og ved at bruge et selvstændigt objekt i stedet for de to du har nu, kan du hurtigt lave to objekter, som fungerer fuldstændig ens - den ene er bare til mysql, den anden måske til postgresql - mun funktionaliteterne er de samme.
4.Private kan kun tilgås af sig selv.
Det vil sige $this->method();
Protected kan tilgås af sig selv OG nedarvede objekter.
F.eks. $this->method(); eller parent::method();
Public er tilgængeligt i alle scopes.
Selv det instancierede. $obj->method(); $this->method(); parent::method(); obj::method();
x.Et abstraktionslag giver dig mulighed for at have simple behandlingslag som er nemme at vedligeholde.
et eksempel:
<?php
$db = new cMysql();
$sql = "SELECT * FROM table";
$db->query($sql);
$resultat = $db->result2array();
?>
Nu er $resultat et array med et multidimensionelt array med mine resultater.
Forestil dig så at din nye løsning skal over på en postgresql løsning; Hvordan vil du løse det uden at have to objekter du skal tilpasse?
Her er min udgave:
<?php
$db = new cPostgresql();
$sql = "SELECT * FROM table";
$db->query($sql);
$resultat = $db->result2array();
?>
og $resultat indeholder det samme som før.
På den måde har du opnået et fleksibelt abstraktionslag.
I et MVC miljø vil du kunne opnå noget som er endnu smartere, men ideen vil du forstå.
Du kan se mit abstraktionslag her:
http://pastebin.com/m13723a2eDu skal også pille din log funktion, din encoding funktioner ud af dine objekter for at få noget brugbart i et MVC miljø.
Hele idéen med MVC var at adskille de enkelte elementer og så bruge dem fornuftigt sammen.
Behold selv dine point. Det var ganske interessant at se hvad du havde fået lavet.
Husk på; min måde at gøre tingene på er ikke nødvendigvis den korrekte måde - det er en holdning og stil jeg har.