welke fetch mode?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

PHP Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij op zoek naar een nieuwe uitdaging? Lees dan snel verder! Voor een organisatie in de regio Utrecht die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

JAVA Programmeur

Bedrijfsomschrijving Functieomschrijving We zoeken per direct enthousiaste software engineers die ons team komen versterken.We werken in DevOps teams met een sterk gevoel voor verantwoordelijkheid. Er wordt nauw samengewerkt met ons Business analyse team (BAT), met onze uitvoerende medewerkers en met de DevOps teams onderling binnen het domein. Het liefst hebben we veel en vaak interactie met onze interne en externe eindgebruikers om zo de juiste dingen te maken. We werken multidisciplinair in een dynamische omgeving. Achtergrond opdracht De Businesseenheid Examens is verantwoordelijk voor de logistiek van de staatsexamens Voortgezet (speciaal) onderwijs, Nederlands als 2e taal en schoolexamens. In het kader

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

APEX Ontwikkelaar in een team van Oracle Developer

Bedrijfsomschrijving Wij zijn op zoek naar een APEX Ontwikkelaar om onze opdrachtgever in Den Haag te versterken. In deze rol zul je verantwoordelijk zijn voor het ontwikkelen en onderhouden van de front-end van onze applicaties met behulp van Oracle Application Express (APEX). Je werkt aan zowel inhouse als externe projecten. De sfeer binnen het Oracle team is gemoedelijk en men probeert elkaar te helpen én van elkaar te leren. Zo ontstaat er een prettige en plezierige werksfeer waar ruimte is voor persoonlijke ontwikkeling en groei. Er wordt gewerkt met de meest nieuwe technologieën waardoor je kennis up-to-date blijft. Het bedrijf

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in ons development team met twee andere .NET developers. Als team werken jullie in scrum en is er iedere ochtend om 11.00 een standup. Jij krijgt als junior .NET ontwikkelaar een inwerk traject dat echt specifiek wordt ingericht op basis van wat jij nodig hebt. Een van de grootste pluspunten bij ons is dat wij binnen ons bedrijf veel (technische) vrijheid geven en juist eigen initiatieven erg stimuleren. Jouw werkzaamheden gaan er bij ons als volgt uit zien: – Het ontwikkelen van nieuwe software samen met interne en eventueel externe ontwikkelaars; – Het

Bekijk vacature »

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

Bekijk vacature »

Java Developer

Java Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

Pagina: « vorige 1 2 3

Erwin H

Erwin H

24/05/2013 11:48:07
Quote Anchor link
Ozzie PHP op 24/05/2013 11:27:24:
Sowieso als ik geen fetch method meegeef dan default ik naar de assoc method. Maar wat inderdaad als je in de fetch class een constant aanmaakt die in een ander database type niet bestaat.

Bij PDO is dat trouwens al afgevangen heb ik gemerkt. Als ik een waarde ingeef die niet overeenkomt met een een van de constanten, dan default ie naar de BOTH fetch methode. Maar of iedere database dat zo netjes afhandelt is maar de vraag.

Wat ik zou kunnen doen is een beveiliging inbouwen, waardoor als een constant niet bestaat, hij automatisch terugvalt op de ASSOC methode.

Je probleem begint al in deze regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$fetch_mode
= self::$fetch_mode;
?>

(even daar gelaten of dit nu letterlijk wel of niet zo werkt, ik ga ervanuit dat je het op een manier werkend krijgt)
Hier krijg je al een foutmelding als ik nu opeens mijn nieuwe methode genaamd Ozzie_Fetch::INDIRECT gebruik. self::INDIRECT bestaat niet dus klapt je script eruit.

Oplossing 1: gebruik de switch die ik je eerder gaf en check op Ozzie_Fetch constantes. Als je een nieuwe daarin definieert kom je gewoon in de default terecht en blijft alles goed gaan.
Oplossing 2: zet er een try..catch omheen. Op zich zal het werken, maar ik zou er geen voorstander van zijn. In feite is het namelijk geen fout en is het gebruik maken van exceptions hier dus oneigenlijk gebruik. Maar daar moet je zelf maar een mening over vormen.

Ozzie PHP op 24/05/2013 11:27:24:
Hoe zou je dit volgens jou dan moeten ondervangen? Het enige wat ik me nu kan bedenken is dat je uitsluitend fetch methodes gebruikt die door alle databases worden ondersteund. Alleen dat zou dan weer betekenen dat ik fetch_class niet kan gebruiken, wat me nu juist weer heel handig lijkt. Of ik moet accepteren dat ik (voorlopig) alleen PDO kan gebruiken (waar ik op dit moment overigens geen bezwaren in zie).

Ook hier zie ik twee manieren:
1) in classes die het niet ondersteunen geef je de algmene default terug. Deze bepaal jezelf is bijvoorbeeld ASSOC. Elke aanroepende class zal dus zelf moeten checken of wat terugkomt is waarom is gevraagd (je classes), of de default en daarnaar moeten handelen.
2) je schrijft een adapter die de niet ondersteunde fetch methode simuleert. Stel je hebt een nieuwe database class die die FETCH_CLASS niet ondersteunt. Die geeft dus de default terug. De adapter vangt die op en bouwt het om naar de gevraagde classes. De aanroepende class uiteindelijk krijgt dan weer terug wat nodig was, zonder zich er verder zorgen om te hoeven maken. De adapter kan je overigens tussen de database interface (PDO) en de database class zetten, of tussen de database class en de aanroepende class.

En een min of meer 3e manier:
3) simuleer de nieuwe fetch methode in de database class. In dit geval zal de database class dus doen wat in optie 2 de adapter doet. Niet helemaal netjes overigens, want daardoor geef je je database clas in mijn ogen een taak die het niet zou moeten hebben.
 
PHP hulp

PHP hulp

17/11/2024 22:55:20
 
Ozzie PHP

Ozzie PHP

24/05/2013 12:13:07
Quote Anchor link
Wat een verhaal :-) Thanks.

"Hier krijg je al een foutmelding als ik nu opeens mijn nieuwe methode genaamd Ozzie_Fetch::INDIRECT gebruik. self::INDIRECT bestaat niet dus klapt je script eruit."

Nee, hij klapt er niet uit. Ik krijg wel een warning dat de constant dan niet bestaat, maar hij klapt er niet uit. Om dit netjes op te lossen zou ik wel kunnen kijken of de betreffende constant bestaat en zo niet dan defaulten naar 'assoc', maar ik weet niet of dat zin heeft omdat je dan toch een ander resultaat krijgt dan verwacht. Misschien kan ik dan nog beter een fatal error gooien zodat ik direct in de smiezen heb dat er iets fout gaat.

Wat betreft de 3 laatste manieren:

1) Dit heeft denk ik geen zin, omdat je dan iets anders terugkrijgt dan dat je verwacht.
2) Dat klinkt ingewikkeld.
3) Dit lijkt me wel wat, omdat ik dan alle code in 1 class (de db class waar het om gaat) kan houden.

Mijn voorkeur gaat uit naar manier 3. Maar stel nu we nemen als voorbeeld weer de fetch_class methode. En dan kom ik eigenlijk terecht bij dezelde vraag als ik mijn andere topic. Hoe kan je zo'n fetch_class methode simuleren? Ik kan me niet voorstellen hoe je dat zou moeten doen? Ja, het kan wel, maar dan moet je alle classes daar op voor bereiden. Ik gebruik private properties. Die kun je nooit van buitenaf setten. Dat zal altijd van binnenuit moeten. Via de PDO::FETCH_CLASS methode werkt dit wel. Ik denk dus dat je dit niet kunt ondervangen voor andere databases, maar als jij denkt dat dat wel kan hoor ik het natuurlijk graag!

(Weet jij of er uberhaupt andere databases zijn die ook zo'n fetch_class methode hebben?)
 
Erwin H

Erwin H

24/05/2013 12:22:55
Quote Anchor link
Ozzie PHP op 24/05/2013 12:13:07:
2) Dat klinkt ingewikkeld.
3) Dit lijkt me wel wat, omdat ik dan alle code in 1 class (de db class waar het om gaat) kan houden.

3 is net zo ingewikkeld als 2, maar de opmerking die je bij 3 plaatst is eigenlijk niet waar....

Als je namelijk de ASSOC resultaten moet omzetten naar classes (omdat de betreffende database interface die niet ondersteunt) dan is dat werk dat je moglijk vaker zal moeten doen. Voor elke database interface die die fetch methode niet ondersteunt zal je die omzet code moeten hebben. Plaats je dat in de database class zelf, dan zal je het dus vaker moeten doen. Plaats je het in een adapter dan doe je 1 keer en nooit weer!

Hoe je echter data in private properties kan gieten dat weet ik niet, zal ik eens naar gaan zoeken. Maar heb je niet een methode in je classes zitten om met behulp van 1 array direct alle data te setten? Dat is een bijzonder simpele methode om te schrijven en ben je direct van het probleem af.

Andere database interfaces (of extensies, niet databases zoals jij ze noemt) dan PDO heb ik geen ervaring mee. Of er dus andere zijn die wel of niet FETCH_CLASS ondersteunen kan ik je niet vertellen.
 
Ozzie PHP

Ozzie PHP

24/05/2013 12:29:40
Quote Anchor link
Thanks voor je reactie. Ik leer weer bij :)

Als ik je goed begrijp zeg je eigenlijk... is het niet slimmer om die fetch_class niet te gebruiken, maar via een array de properties te setten? Dat zou inderdaad ook kunnen. Ik heb nog nooit met zo'n adapter gewerkt om eerlijk te zijn. Kun je daar een klein voorbeeldje van geven zodat ik snap hoe zoiets werkt?

"Hoe je echter data in private properties kan gieten dat weet ik niet, zal ik eens naar gaan zoeken'."

Dat zou mooi zijn als je daar iets voor kan vinden. Maar ik denk dat dit altijd van binnenuit de class zal moeten gebeuren. Wat dat betreft is die fetch_class methode wel mooi.

"Maar heb je niet een methode in je classes zitten om met behulp van 1 array direct alle data te setten? Dat is een bijzonder simpele methode om te schrijven en ben je direct van het probleem af."

Nee, zover ben ik helaas nog niet.

"Andere database interfaces (of extensies, niet databases zoals jij ze noemt) dan PDO heb ik geen ervaring mee. Of er dus andere zijn die wel of niet FETCH_CLASS ondersteunen kan ik je niet vertellen."

Oké.
 
Erwin H

Erwin H

24/05/2013 12:42:37
Quote Anchor link
Ozzie PHP op 24/05/2013 12:29:40:
Als ik je goed begrijp zeg je eigenlijk... is het niet slimmer om die fetch_class niet te gebruiken, maar via een array de properties te setten? Dat zou inderdaad ook kunnen. Ik heb nog nooit met zo'n adapter gewerkt om eerlijk te zijn. Kun je daar een klein voorbeeldje van geven zodat ik snap hoe zoiets werkt?

Nee, ik probeer geen mening te geven over het wel of niet gebruik van FETCH_CLASS. Ik zeg alleen dat als je ook die setter hebt in je classes dan kan je daar op momenten dat het nodig is simpel gebruik van maken. Niet alleen hier overigens.

Een adapter is een heel simpele class die iets omzet naar iets anders (leuk, zo cryptisch). Denk bijvoorbeeld aan de stroomadapter die je gebruikt als je je Nederlandse laptop in Amerika wil opladen. Je stekker past daar niet, dus je gebruikt een adapter. Aan de ene kant heeft die een ingang voor jou stekker, aan de andere kant een uitgang voor een Amerikaans stopcontact. Jouw stekker ziet iets wat die kent, het Amerikaanse stopcontact ziet iets wat die kent en iedereen is gelukkig.

Een adapter class werkt net zo. Ik wil er wel een voorbeeld voor maken, maar dat kost even wat meer werk. Lees anders eerst even iets over dat pattern op wikipedia, als dat niet genoeg is kan ik later vandaag wel kijken of ik iets in elkaar kan zetten om het (hopelijk) duidelijk te maken voor deze database classes.
http://en.wikipedia.org/wiki/Adapter_pattern
 
Ozzie PHP

Ozzie PHP

24/05/2013 12:52:52
Quote Anchor link
"Nee, ik probeer geen mening te geven over het wel of niet gebruik van FETCH_CLASS. Ik zeg alleen dat als je ook die setter hebt in je classes dan kan je daar op momenten dat het nodig is simpel gebruik van maken. Niet alleen hier overigens."

Oké, ik snap wat je bedoelt. Maar om EN FETCH_CLASS te gebruiken EN een setter, dat lijkt me weer dubbelop. FETCH_CLASS is makkelijk, maar heeft dus als nadeel dat het in andere db interfaces (zie je het, ik schrijf interfaces :-) ) niet wordt ondersteund. Maar is dat erg (aangezien ik geen reden zie om af te stappen van PDO). Zo'n setter is meer werk om te integreren in ieder class, maar wordt dan wel altijd ondersteund. Wat zou nu doorslaggevend moeten zijn is de vraag. Iets wat NU makkelijk werkt, of iets wat je MISSCHIEN in de TOEKOMST ooit zal gaan gebruiken (waarvoor ik echter op dit moment geen enkele reden zie).

"Aan de ene kant heeft die een ingang voor jou stekker, aan de andere kant een uitgang voor een Amerikaans stopcontact. Jouw stekker ziet iets wat die kent, het Amerikaanse stopcontact ziet iets wat die kent en iedereen is gelukkig."

Kijk, dat is een lekker duidelijke uitleg :)

"als dat niet genoeg is kan ik later vandaag wel kijken of ik iets in elkaar kan zetten om het (hopelijk) duidelijk te maken voor deze database classes."

Dat zou wel fijn zijn, maar niks uitgebreids hoor. Kost je anders veel te veel tijd. Het gaat me vooral om het principe. Dus ik geef een constante voor een fetch method mee. De database ondersteunt deze fetch mode niet en de vraag is dan hoe zo'n adapter het dan wel werkend krijgt.
 
Erwin H

Erwin H

24/05/2013 15:13:39
Quote Anchor link
Ozzie PHP op 24/05/2013 12:29:40:
"Hoe je echter data in private properties kan gieten dat weet ik niet, zal ik eens naar gaan zoeken'."

Dat zou mooi zijn als je daar iets voor kan vinden. Maar ik denk dat dit altijd van binnenuit de class zal moeten gebeuren. Wat dat betreft is die fetch_class methode wel mooi.

check: http://www.phphulp.nl/php/forum/topic/objects-instantieren-met-data-al-in-private-properties/90837/



Toevoeging op 24/05/2013 18:58:25:

Even een schematisch voorbeeld van hoe het zou kunnen werken met een adapter.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
Situatie:
+-----------+      +-------------------+      +--------------------+
| aanvrager |      | Je database class |      | database interface |
+-----------+      +-------------------+      +--------------------+
Vraagt CLASS   ->    kent geen CLASS
                     zet om naar ARRAY    ->   haalt gegevens op
probleem       <-    geeft array terug    <-   plaatst in array
wil geen array                                            

Dit is dus wat er zou gebeuren en wat je niet wil. De database interface kan je niet veranderen. De database class will je niet veranderen (uitgangspunt 3 nogmaals). De aanvrager wil je niet laten testen op wat de return is, die wil je gewoon met de objecten laten werken. Tussen de aanvrager en je database class zet je dus een adapter. Richting de aanvrager doet die zich voor als een database class (met andere woorden, implementeert dezelfde interface als je database class). Elke methode zal de adapter dus ook implementeren, alleen waar niets hoeft te gebeuren zal de adapter het request gewoon direct doorzetten naar je database class.
Voor de database class verandert er nu niets, die krijgt gewoon requests (alleen vanuit de adapter, maar dat maakt hem niets uit). Komt er nu een CLASS fetch request dan gebeurt er dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
+-----------+      +-------------------+      +--------------------+
| aanvrager |      | adapter           |      | Je database class  |
+-----------+      +-------------------+      +--------------------+
Vraagt CLASS   ->    onthoudt CLASS
                     vraagt ARRAY         ->   zet verzoek door
                     herinnert CLASS      <-   geeft array terug
                     converteert ARRAY
Helemaal happy <-    geeft CLASS terug  

Kortweg in code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
class Database_Adapter implements Database_Interface{
  private $databaseObj;

  public function __construct( Database_Interface $database ){
    $this->databaseObj = $database;
  }


  public function getRows( $method ){
    if ( $method == Ozzie_Fetch::CLASS ){
      $array = $this->databaseObj->getRows( Ozzie_Fetch::ASSOC );
      return $this->convert_array_to_class( $array );
    }
else {
      return $this->databaseObj->getRows( $method );
    }
  }
}

?>
Gewijzigd op 24/05/2013 19:00:31 door Erwin H
 

Pagina: « vorige 1 2 3



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.