MVC PDO

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Oracle APEX Ontwikkelaar (3.500-6.000 euro)

Bedrijfsomschrijving Ben jij een getalenteerde Oracle APEX ontwikkelaar met minimaal één jaar ervaring in het ontwikkelen van Oracle APEX-applicaties? Ben je gepassioneerd over het ontwikkelen van bedrijfskritische oplossingen en wil je werken bij een toonaangevend consultancybedrijf? Dan zijn wij op zoek naar jou! Deze organisatie beschikt over zowel inhouse als externe projecten, maar bovenal over een sterk team en netwerk van opdrachten waardoor jij jezelf verder kunt ontwikkelen. Het team bestaat uit een aantal junior en medior developers, maar vooral uit senioren. De business unit managers binnen het team zijn mensen die hun vak verstaan en zelf als Oracle APEX

Bekijk vacature »

Back-End Web Developer

As a Back-End Web Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Back-End Web Developer at Coolblue? As a Back-End Web Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you also feel confident with setting up microservices in Typescript or are open to learning this. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing pure

Bekijk vacature »

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

Bekijk vacature »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

C# Unity Developer

Functieomschrijving Ontwikkel jij mee door applicaties te bouwen die bijdragen aan het optimaliseren van processen? Voor een erkende werkgever in regio Tilburg zijn wij op zoek naar een Unity C# Developer die graag de uitdaging aangaat! Jouw werkzaamheden zullen er als volgt uitzien: Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Je bent verantwoordelijk voor het uitvoeren van updates/aanpassingen aan de reeds draaiende applicaties. Bedrijfsprofiel Je komt te werken voor een internationale werkgever in regio Tilburg. Samen met een vooruitstrevend team

Bekijk vacature »

Lead C++ Developer

The role of Lead C++ Developer As Lead C++ Developer at KUBUS you will be responsible for the implementation design of requirements and the software architecture of the desktop applications of BIMcollab, our platform for 3D model validation and issue management aimed at improving the quality of 3D building design models. Better 3D models lead to better buildings, thus contributing to the sustainability of the built environment with smarter use of materials, less waste and energy-efficient buildings. A good user experience is of paramount importance to us; we go for innovation and quality in our development. In your role as

Bekijk vacature »

T-SQL Database developer

Functie omschrijving Ben jij een ETL database specialist? Houd jij ervan om te puzzelen met Databases, Query's & Stored procedures? Zoek jij uitdaging, vrijheid en verantwoordelijkheid? Zoek dan niet verder! Wij zijn per direct op zoek naar medior en senior database developers. Je gaat werken voor een relatief klein softwarebedrijf in omgeving Tilburg. Samen met 12 collega's (allemaal techneuten), ga jij je bezig houden met het bouwen en/of onderhouden van database software. Deze software wordt internationaal ingezet voor het automatiseren van logistieke processen. Jouw werkzaamheden gaan er als volgt uit zien: Je bent in een klein team met developers, verantwoordelijk

Bekijk vacature »
Mark Beets

Mark Beets

07/11/2008 13:19:00
Quote Anchor link
klein vraagje over PDO,

Ben het MVC pattern gaan gebruiken. Vroeger gebruikte ik altijd een database class(Na mijn idee veel handiger werkte, niet sneller). Nu gebruik ik PDO statments in het model.

Opbouw
Model > class member
Data > MyPDO extends PDO

De voorbeelden die ik kan vinden over bijvoorbeeld een INSERT vind ik onhandig. Zie overal dat de gehele Query van elke tabel wordt uitgeschreven, in dit geval: in class member.

ik zou graag dit doen in mijn member class:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$PDO->insert('tableName', $array) ;


Dien ik die functies in de class MyPDO te schrijven?
Biedt PDO hier al oplossingen voor?
Moet ik dit wel willen?
Heeft iemand een mooi MyPDO class?

Zou het graag van jullie horen.
Alvast bedankt
Gewijzigd op 01/01/1970 01:00:00 door Mark Beets
 
PHP hulp

PHP hulp

24/11/2024 05:34:46
 
Lode

Lode

07/11/2008 14:56:00
Quote Anchor link
Uiteindelijk zal er toch een query moeten komen om naar de database te sturen.
Hiervoor kan je inderdaad allerlei wrappers maken.

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
19
20
21
22
23
<?php
class Lode_Database_Select{
     public function __construct($fields = '*'){

     }

     public function from($table){
          
          return $this;
     }

     public function where(array $conditions = array()){
          
           return $this;
     }

     public function __toString(){

     }
}

////
$sql = new Lode_Database_Select();
$sql->from('tabel')->where('id = 1');

echo $sql;
?>


Bijvoorbeeld (kan een stuk beter)

Daarnaast heb je ook nog dingen als ActiveRecord pattern en packages die dit soort dingen kunnen als propel etc.
Je kan het zo gek maken als je zelf wilt natuurlijk, maar de bottomline is dat je toch een query moet maken. Met classes kan je proberen een soort DAL (Database Abstraction Layer) te maken.

Uit je bericht kan ik alleen niet echt opmaken wat je precies wilt.
 
Mark Beets

Mark Beets

07/11/2008 15:43:00
Quote Anchor link
Bedankt voor je uitleg.

Wat ik bedoel/wil: Zou geen query willen zien in de klasses van mijn model.
Daar zou ik alleen willen zeggen welke TABLE en welke ARRAY ik wil INSERTe (voor DELETE UPDATE is dat natuurlijk weer anders, hou het even bij INSERT)

Dat die queries gemaakt moeten worden snap ik, maar wil die queries niet voor elke tabel en of project apart maken, wil ze laten genereren, zodat ik het overal kan gebruiken(niet me queries moet aan passen als er veld in DB bij komt of af gaat).

Als ik kijk naar voorbeelden van: http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html.
Dan krijg ik van TRY tot CATCH in mijn model.

Daarom dacht ik, in een klasse van het model praat ik met MyPDO(zoals de code in mijn eerste bericht, MyPDO zie ik als data layer ), MyPDO genereert de queries en geeft resultaat of error terug. Zo krijg je in MyPDO de gehele query generator, houdt je model ook stuk overzichtelijker. MyPDO heeft extends PDO.

Of is dat rare gedachte?
Zijn er frameworks van DAL?
Gewijzigd op 01/01/1970 01:00:00 door Mark Beets
 
Lode

Lode

07/11/2008 16:37:00
Quote Anchor link
Alle grote frameworks hebben een soort DAL of ActiveRecord pattern volgens mij.
DAL is meer een vakterm.

Bij PDO ontkom je niet aan een exception handler omdat PDO exceptions dwars door een standaard try / catch heen gaan. Dit kan je natuurlijk wel weer in je classes afhandelen.

Al eens gekeken naar bijvoorbeeld Zend Frameworks database classes?
Die heeft ook een PDO variant.

Persoonlijk houd ik helemaal niet van PDO overigens!
 
Jelmer -

Jelmer -

08/11/2008 11:17:00
Quote Anchor link
Lode schreef op 07.11.2008 16:37:
Bij PDO ontkom je niet aan een exception handler omdat PDO exceptions dwars door een standaard try / catch heen gaan. Dit kan je natuurlijk wel weer in je classes afhandelen.

In mijn ervaring is PDOException een uitbreiding van Exception, en wordt hij (dus) ook gewoon in een try/catch-blok opgevangen dat Exception opvangen wil.

Misschien ter inspiratie, je kan ook proberen zoveel mogelijk alle SQL code uit je programma te verbergen, dus nog abstracter gaan dan het voorbeeldje van Lode. Geen from, of where, of velden selecteren, maar puur condities opgeven. Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$bedrijven
= IHG_Record::findRecords('Bedrijf', array(
    'url' => $website,
    'naam' => array('bedrijf a', 'bedrijf b')
));


// Doet intern iets in te trant van
SELECT id, naam, url FROM bedrijven WHERE url = $website AND naam IN(bedrijf a, bedrijf b)

?>

en dan is $bedrijven een "array" met allemaal instanties van de klasse Bedrijf. (Naja, 2 instanties, een bedrijf met de naam 'bedrijf a', en eentje met, naja, kan je wel raden ;) )

Het nadeel is dat je een groot deel van de kracht van SQL verliest. Dit is deels te compenseren door met VIEWS in je database de complexe queries om te vormen tot virtuele tabellen waar je dan weer simpele statements, zoals die gegenereerd wordt uit het stukje code hierboven, op los kan laten. Het voordeel is dat je bijna alle SQL code van je applicatie verplaatst naar de database en naar de methods die de query uit de array die je aan findRecords meegeeft genereert. En dat is weer makkelijk mocht je ooit beslissen een andere database (of een geheel ander soort database, MapReduce implementeren hiermee is ook redelijk gemakkelijk) te gaan gebruiken.

... en het staat leuk :P

ps: een 'experimentele implementatie' hiervan.
 



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.