welke fetch mode?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

Bekijk vacature »

Front-end developer gezocht

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

Anaplan Developer

Dit ga je doen What are you going to do: Picking up Stories: Design planning had, how are we going to build it in Anaplan; Talking to the end user to build a forecasting model; Having contact with the data team about which data is needed; Being able to convert an Excel sheet into a 3, 4 or 5 dimensional modeling environment; Giving knowledge sessions about Anaplan; Solving incidents; Making instructional videos on how teams should read forecasts; Writing blogs about forecasting. Hier ga je werken We are looking for an Anaplan Builder to deliver end-to-end solutions within a big

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

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 »

Traineeship Fullstack developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Pagina: 1 2 3 volgende »

Ozzie PHP

Ozzie PHP

23/05/2013 03:03:38
Quote Anchor link
Welke van deze fetch modes gebruiken jullie eigenlijk het meest (en waarom)?

http://php.net/manual/en/pdostatement.fetch.php
 
PHP hulp

PHP hulp

08/01/2025 17:21:55
 
Wouter J

Wouter J

23/05/2013 08:14:30
Quote Anchor link
ASSOC, andere zorgen imo voor te grote arrays en daardoor traagheid. CLASS, INTO en OBJ zijn welliswaar heel vet, maar dat wil ik zelf kunnen doen.

En de rest: BOUND vind ik alleen maar nutteloos. NUM is handig als je met for loops moet werken en BOTH is handig als je zowel met for loops moet werken als met het normaal opvragen van data.
 
Ozzie PHP

Ozzie PHP

23/05/2013 14:02:43
Quote Anchor link
Wouter, dankjewel voor je reactie!

1) Wat bedoel jij met "... maar dat wil ik zelf kunnen doen." ?


"NUM is handig als je met for loops moet werken"

2) In welk opzicht is het bij for-loops handiger dan ASSOC? (ASSOC werkt toch ook in for-loops?)


Waarom ik de vraag stel... ik ben bezig met m'n database class en ik wil een fetchRow/getRow method maken, maar ik vraag me af ik dus meerdere varianten daarvan zal maken, bijv. getAssocRow of getNumRow. Ik vermoed ook dat ik ASSOC het meest zal gebruiken en dus is het wellicht handiger om maar 1 method getRow te maken die dan de ASSOC methode gebruikt.

3) Wat vind jij?
 
Donny Wie weet

Donny Wie weet

23/05/2013 14:06:02
Quote Anchor link
FETCH_ASSOC, is ook de meest gebruikte volgens mij?
 
Erwin H

Erwin H

23/05/2013 14:17:16
Quote Anchor link
Ozzie PHP op 23/05/2013 14:02:43:
Waarom ik de vraag stel... ik ben bezig met m'n database class en ik wil een fetchRow/getRow method maken, maar ik vraag me af ik dus meerdere varianten daarvan zal maken, bijv. getAssocRow of getNumRow. Ik vermoed ook dat ik ASSOC het meest zal gebruiken en dus is het wellicht handiger om maar 1 method getRow te maken die dan de ASSOC methode gebruikt.

Je zal ASSOC mogelijk het vaakst gebruiken, maar waarom zou je het daarom beperken? Die verschillende fetch methodes zijn er niet voor niets, blijkbaar zijn de andere af en toe dus ook handig. Als je het nu gaat beperken en later toch nog nodig hebt dan kost het je meer werk om het aan te passen dan het nu te doen. Wat ik wel zou doen, is ASSOC de standaard maken (in plaats van BOTH zoals in PDO). Dus als er geen methode wordt opgegeven via bijvoorbeeld een property, dan gebruik je gewoon ASSOC, anders de opgegeven methode.
 
Ozzie PHP

Ozzie PHP

23/05/2013 14:28:26
Quote Anchor link
Erwin, ik bedoel meer hoe ik dan de method zal noemen. De fetch wijze meegeven via een property vind ik best tricky (dan moet ik telkens kijken wat ook alweer de juiste naam was). Maar ik zou bijv. kunnen doen getAssocRow en getNumRow. Waar ik dan even over twijfel is... stel dat ik altijd de ASSOC methode gebruik dan zou ik het ook gewoon getRow kunnen noemen (is wat korter), maar wat jij zegt is ook wel een goed punt... want wat als je inderdaad een keer een andere fetch wijze wil gebruiken?

Gebruiken jullie trouwens get of fetch als je iets uit de database haalt? Dus getAssocRow of fetchAssocRow?
 
Erwin H

Erwin H

23/05/2013 14:40:29
Quote Anchor link
Ozzie PHP op 23/05/2013 14:28:26:
De fetch wijze meegeven via een property vind ik best tricky (dan moet ik telkens kijken wat ook alweer de juiste naam was).

Daar heb je constantes voor zodat je het via de code completion altijd goed hebt.

Ik heb in mijn database class vier verschillende methodes die een query uitvoeren en de resultaten daarvan opslaan in een property wat dan later weer kan wordern uitgelezen. Data ophalen is dan met 'getResults()'.
 
Ozzie PHP

Ozzie PHP

23/05/2013 14:54:39
Quote Anchor link
Ah, oké. Via constants. Daar had ik nog niet aan gedacht. Je bedoelt dan zoiets?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
public function getRow($fetch_mode = FETCH_ASSOC) {
  // ...
}
?>


"Ik heb in mijn database class vier verschillende methodes die een query uitvoeren en de resultaten daarvan opslaan in een property wat dan later weer kan wordern uitgelezen. Data ophalen is dan met 'getResults()'."

Hoe moet ik me dit voorstellen? Ik zou zelf zoiets doen:

- $sql = 'bla bla';
- execute($sql);
- $row = getRow();

In $row zitten dan de gegevens uit de database.

Maar jij zou dan zoiets doen? (Of begrijp ik je niet goed?)

- $sql = 'bla bla';
- execute($sql);
- fetchRow();
- $row = getResults();
 
Erwin H

Erwin H

23/05/2013 15:13:24
Quote Anchor link
Deze vier methodes zitten niet in dezelfde class natuurlijk:
- $sql = 'bla bla';
- execute($sql);
- fetchRow();
- $row = getResults();

De database class zal niet verantwoordelijk zijn voor de query die moet worden uitgevoerd en zal verder ook niets met de resultaten doen.

Als je het opbreekt krijg je dus
- query class -> stelt query op
- query class -> geeft query aan database class
- database class -> voert query uit
- database class -> haalt resultaten op en slaat het op in een property van de database class
- query class (of de class die de query class aanroept) -> haalt resultaten op uit de database class

De reden waarom ik vier verschillende methodes heb om de queries uit te voeren is omdat niet elke query op dezelfde manier resultaten oplevert:
- queries die geen resultaten opleveren (INSERT, UPDATE, DELETE)
- queries die 1 rij opleveren
- queries die meerdere rijen opleveren
- queries die meerdere rijen opleveren maar die met een LIMIT en SQL_CALC_FOUND_ROWS zijn uitgevoerd

In principe kan je 2 en 3 wel samen doen, ik heb ervoor gekozen ze te splitsen omdat je dan de eerste met een PDO::fetch kan doen en de tweede met een PDO::fetch_all. Zelfs al zou de query die 1 rij terug wil hebben er meer krijgt, er wordt er dan maar 1 opgehaald.
Gewijzigd op 23/05/2013 15:14:26 door Erwin H
 
Ozzie PHP

Ozzie PHP

23/05/2013 15:21:37
Quote Anchor link
Ah oké, mijn opzet is iets anders. Ik stop wel alles in 1 class omdat ik het als een service heb ingesteld. Ik roep dan die service aan een die maakt automatisch een database connectie (eenmalig). Aan die service geef ik m'n slq query door en uit die service haal ik ook het resultaat op. Ik stop het resultaat echter niet in een property. Schematisch moet het dan zoiets worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$db
= $services->get('db'); // ik kan hier ingeven welke db ik wil hebben
$db->setSql('SELECT...);
$row = $db->getRow();
?>
 
Erwin H

Erwin H

23/05/2013 15:34:14
Quote Anchor link
Het enige dat je dan anders hebt is dat niet de database class, maar de aanroepende class de while loop moet gaan bouwen om alle rijen uit te lezen. Dat had ik ook ooit eens, tot ik me bedacht dat ik gewoon elke keer weer die while loop aan het bouwen was. Daar had ik geen zin meer in en dus heb ik dat verplaatst naar de database class. Als je dat doet kan je dus ook meteen alles uitlezen met PDO::fetch_all en heb je helemaal geen loop meer nodig. Uiteindelijk vind ik dat een veel betere optie, omdat ik toch nooit tijdens het uitlezen van de gegevens al iets met de data doe. Pas in de view wordt de data behandeld.

Een andere reden om het niet te doen zoals jij nu wil gaan doen is dat je moeilijk moet gaan voor de queries met een LIMIT. Als je namelijk het aantal berekende rijen wilt ophalen moet een je nog een query uitvoeren (SELECT FOUND_ROWS()). Die kan je pas doen nadat je de data van de oorspronkelijke query hebt gefetched, anders ben je die data kwijt. Met andere woorden, je krijgt deze stappen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$db
= $services->get('db');
$db->setSql('SELECT...);
while ( $db->hasNext() ){
  $row = $db->getRow();
  //doe iets met $row
}
$num = $db->getCalcRowNum();
?>

Terwijl als je alles in 1 keer doet krijg je dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$db
= $services->get('db');
$db->setSql('SELECT...);
$data = $db->DBcall_fetch_limit();
?>

En in data zit dan een array met als eerste element het aantal berekende rijen en daarna alle rijen. Omdat ik lui ben prefereer ik de tweede :-)
 
Ozzie PHP

Ozzie PHP

23/05/2013 15:41:58
Quote Anchor link
"Het enige dat je dan anders hebt is dat niet de database class, maar de aanroepende class de while loop moet gaan bouwen om alle rijen uit te lezen."

Uh... je kunt toch alle rijen in 1x ophalen met PDO fetchAll? Dan heb ik toch geen while loop nodig?

Even voor de duidelijkheid. Ik heb dus 1 database class en dit is een specifieke PDO MySQL class. Dus alles in die class is gebaseerd op PDO MySQL. Stel nu dat ik ooit een andere database wil gebruiken dan zou ik dus een nieuwe class daarvoor maken. In mijn service hoef ik dan alleen de class naam te wijzigen. (Via een interface stel ik overigens een aantal verplichte methods in.)
 
Erwin H

Erwin H

23/05/2013 15:53:23
Quote Anchor link
Ozzie PHP op 23/05/2013 15:41:58:
Uh... je kunt toch alle rijen in 1x ophalen met PDO fetchAll? Dan heb ik toch geen while loop nodig?

Absoluut, alleen omdat je de methode 'getRow()' noemde ging ik ervanuit dat je rijen 1 voor 1 op wilde halen. Haal je alles op dan verwacht ik de naam 'getRows()'. Anders dan dat zijn we het denk ik wel helemaal met elkaar eens.
 
Ozzie PHP

Ozzie PHP

23/05/2013 15:55:29
Quote Anchor link
Ah oke... getRow haalt inderdaad 1 rij op en getRows die haalt er meerdere op :)

Klopte dit voorbeeldje trouwens? Was dit hoe jij het bedoelde?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
public function getRow($fetch_mode = FETCH_ASSOC) {
  // ...
}
?>
 
Erwin H

Erwin H

23/05/2013 16:04:48
Quote Anchor link
Ja, bijvoorbeeld.
Ik had weer niet gedacht aan de PDO parameters (waar je overigens PDO::FETCH_ASSOC voor moet hebben, niet FETCH_ASSOC), maar die kan je inderdaad direct gebruiken. Meestal definieer ik mijn eigen parameters als class constants (eventueel in een abstracte class alleen bedoeld voor constantes), maar in dit geval zijn die PDO constants afdoende uiteraard.
 
Ozzie PHP

Ozzie PHP

23/05/2013 16:10:14
Quote Anchor link
Ja, dat klopt... alleen ik zit even te denken hoe je dat handig zou kunnen aanpakken. Sowieso vind ik het idee van constants een goede. Maar stel ik zou ooit van database veranderen en heb dan ergens in mijn code dit staan:

$row = $db->getRow(PDO::FETCH_ASSOC);

Dan gaat het mis. Het mooiste zou dus zijn om een algemene FETCH_ASSOC te hebben... en die dan misschien matchen met een class constant ofzo?
 
Erwin H

Erwin H

23/05/2013 16:20:43
Quote Anchor link
Dan kan je dus zelf je constantes definieren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
abstract class Ozzie_Fetch(
  const ASSOC = 0;
  const NUM = 1;
  const BOTH = 2;
  const INVERTED = 3;
  const DOWNUNDER = 4;
);

?>

Deze kan je altijd gebruiken en als een database een hele speciale heeft dan kan je die toevoegen, zolang je altijd meer een default hebt gedefinieerd in de andere database classes is dat geen punt. Die gaan dan gewoon terug naar de default.
 
Ozzie PHP

Ozzie PHP

23/05/2013 16:27:44
Quote Anchor link
Oké thanks... maar waar haal jij nu die getallen vandaan?

Ik dacht zelf om bijv. in de PDO MySQL class zulke constants op te nemen:

cons ASSOC = PDO::FETCH_ASSOC;

En dan zou ik dus dit kunnen doen:

$row = $db->getRow('ASSOC');

Trouwens nog iets super irritants. Dat met die defines gaat niet werken. Dat leek me dus super handig omdat ik me dan niet kan "vertypen". Maar ik heb mijn defines dus in een config bestandje staan en ze worden dan met een foreach loop ge-defined. Met als gevolg dat mijn editor ze dus niet herkent. Grrrrr...
 
Erwin H

Erwin H

23/05/2013 16:39:54
Quote Anchor link
Als je dit doet:
cons ASSOC = PDO::FETCH_ASSOC;
dan zit je alsnog gebonden aan de PDO constanten. Dan kan je net zo goed die direct gebruiken.

Ik gebruik getallen omdat het gebruik van constanten in feite niets anders is dan een makkelijke naam geven aan iets dat anders moeilijk te onthouden is (denk aan pi, ik ken pi, maar voorbij 3,14 ken ik het getal echt niet). De waardes die je er in dit geval aan geeft zijn puur jouw keuze. Voor de compiler maakt het niets uit, en voor jou ook niet omdat je nooit met de getallen gaat werken, maar met de namen.

Alleen je laatste stukje begrijp ik niet helemaal. Een define is iets anders dan een class constant. Je kan het natuurlijk ook met defines doen, maar ik prefereer class constants omdat je dan de groep eenvoudig bij elkaar kunt houden, de classname al als prefix fungeert en het sneller schijnt te zijn (zelf nooit getest).
 
Ozzie PHP

Ozzie PHP

23/05/2013 16:46:05
Quote Anchor link
Hoe leg ik dit uit...

Als ik dit in mijn specifieke PDO MySQL class zet:
cons ASSOC = PDO::FETCH_ASSOC;

En ik doe dan dit:

$row = $db->getRow('ASSOC');

Dan zal ASSOC gematched worden met de class constant ASSOC die dan weer de waarde van de define PDO::FETCH_ASSOC teruggeeft. Snap je wat ik bedoel?

Die defines leek mij handig omdat ik dan dit kan doen:

$row = $db->getRow(ASSOC); // assoc is hier dus een define

waarbij dan de bedoeling zou zijn dat ASSOC automatisch wordt aangevuld door de editor, zodat ik het niet per ongeluk verkeerd kan typen zeg maar. Puur voor het gemak.
 
Erwin H

Erwin H

23/05/2013 16:53:31
Quote Anchor link
Dat begrijp ik, maar waarom doe je dan niet meteen:

$row = $db->getRow(PDO::FETCH_ASSOC);

Je editor zal die constantes ook kennen, neem ik aan.

De reden om je eigen constantes te maken is dat als je eens een andere database interface gaat gebruiken (dus niet PDO) je dan nog steeds je eigen constantes kunt gebruiken, maar niet de PDO constantes. Als je nu je eigen constantes 1-op-1 doorzet naar de PDO constantes dan heb je dat probleem namelijk nog wel.
 

Pagina: 1 2 3 volgende »



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.