Array uitlezen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

IoT Developer

Ben jij innovatief, heb jij passie voor energie en ben je data gedreven? Bouw dan mee aan IoT binnen Bredenoord. Samen met een gedreven team werk jij aan mooie technische en innovatieve oplossingen. Wat houdt de functie van IoT Developer in? Binnen Bredenoord zijn wij momenteel volop in ontwikkeling met ons IoT platform. Als uitbreiding van ons team zijn wij op zoek naar een IoT Developer. Je zal in projectverband meehelpen met het implementeren van IoT vraagstukken binnen Bredenoord. Als IoT Developer op onze R&D-afdeling word je verantwoordelijk voor het verder inrichten en beheren van ons nieuwe IoT platform. Dat

Bekijk vacature »

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

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 »

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 »

C#.NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie; Het oplossen van bugs en incidenten. Hier ga je werken Als C#.NET Developer binnen deze organisatie kan jij het verschil maken. Zij werken momenteel nog met programmatuur die is ontwikkeld in C++. Hiervan gaan zij afscheid nemen zodra alle nieuwe software in C#.NET geschreven is. Een grootschalig en langdurig project. Voor hen is deze software van

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

High level C++ QT Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13486 Introductie Would you like to be involved in every aspect of software development for our exceptional products, from specification and design to testing and integration? If you're passionate about software development and eager to apply your programming skills to create customer-focused deliverables, then this is the perfect chance for you to expand your expertise. You can become a member of our Machine Control department's data-driven development team, where you'll design and build software solutions that optimize machine productivity. As a senior software design engineer, you'll participate in all phases

Bekijk vacature »

WordPress & Azure Developer

Dit ga je doen Zowel front- als back-end development aan de online website omgeving; Het up-to-date houden van alle WordPress-sites; Koppelingen maken tussen applicaties; Meedenken en adviseren over verbeteringen; Development door middel van WordPress, Javascript, HTML en CSS; Werken binnen Scrum/Agile team. Hier ga je werken Voor een grote overheidsinstelling in Den Haag zijn wij opzoek naar een WordPress developer, met kennis en ervaring op het gebied van Azure. De organisatie zit in een grote transitie waarbij de gehele website/online omgeving vernieuwd zal gaan worden. Binnen dit Scrum/Agile team ben je verantwoordelijk voor deze grote migratie/ombouw van de omgeving. De

Bekijk vacature »

Software Developer

Functie omschrijving In deze functie ga je aan de slag met het door ontwikkelen van de interne software. Zij maken gebruik van een CRM, wat door de hele organisatie gebruikt wordt. Andere taken: Je gaat het CRM-systeem door middel van PHP verder ontwikkelen; Verder bouw je verschillende API's en koppelingen tussen systemen; Ook ga je collega's ondersteunen bij vragen over de software en applicaties; Deelnemen aan overleggen met het development team; Bij interesse is er de mogelijkheid om junioren te gaan begeleiden. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Barendrecht! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »
Jasper DS

Jasper DS

21/02/2013 20:37:21
Quote Anchor link
Hoi,

voor mijn querybuilder ben ik een functie aan het schrijven voor de where-clause. Mijn functie moet zorgen voor een array met parameters en een string met de where-clause. De input moet op deze manier binnenkomen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
array('veld1' => 'value1', 'veld2' => 'value2');

De code die ik gebruik is de volgende:
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
public function setWhere()
{
    $values = array('id' => 1, 'name' => 'test'); // input
    if(count($values) > 0)
    {
        $where = 'WHERE ';
        foreach($values as $key => $value)
        {
            $where .= $key . ' = :' . $key . ' AND ';
            $values[':' . $key] = $value;
            unset($values[$key]);
        }
        $where = substr($where, 0, -5);
        echo $where; // WHERE id = :id AND name = :name
    }    
}


Nu vind ik die code eigenlijk vrij omslachtig dus ik vroeg me af of die niet beter kon? Hoe zouden jullie zoiets aanpakken?

Alvast bedankt,
Jasper
 
PHP hulp

PHP hulp

26/05/2026 14:15:47
 
Ozzie PHP

Ozzie PHP

21/02/2013 20:42:51
Quote Anchor link
Dit soort trucs zijn ook vaak omslachtig.

Waarom doe je dit:

$values[':' . $key] = $value;
unset($values[$key]);

Ik ben ook wel eens zo bezig geweest om functies te maken om een query te bouwen. Ik weet echter niet of ik het nu weer zo ga doen, aangezien het zeer omslachtig is allemaal. Je kunt een query op zoveel manieren opbouwen dat het eigenlijk niet te doen is om dat allemaal in functies te verpakken.
 
- Mark -

- Mark -

21/02/2013 20:45:08
Quote Anchor link
Waarom staat $values binnen de functie trouwens? En normaal return je een waarde, echo hoort niet echt thuis in een functie.

En wat als het OR of iets anders moet zijn in plaats van AND?
 
Jasper DS

Jasper DS

21/02/2013 20:55:18
Quote Anchor link
Quote:
$values[':' . $key] = $value;
unset($values[$key]);


zodat $values kan gebruikt worden als PDO parameter bij de execute. De keys komen dan overeen met de prepared statements. De oude keys zijn niet meer nodig dus die doe ik weg.

@mark, het gaat over de functionaliteit. In de praktijk zal de functie idd returnen en komt $values binnen. Dit is een voorbeeld.

Voor OR of end kan er vrij makkelijk een parameter worden toegevoegd denk ik.

Nog even uitleggen waarom ik het niet op de doctrine manier wil doen. Ik wil dat er via mijn builder alleen data binnen komt dus niet zoals doctrine "id = :id AND name = :name" want dat is SQL.
Gewijzigd op 21/02/2013 20:56:35 door Jasper DS
 
Jan Koehoorn

Jan Koehoorn

21/02/2013 21:21:59
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
function set_where ( $columns ) {
    $wheres = array ( );
    foreach ( $columns as $column ) {
        $wheres[ ] = $column . ':=' . $column;
    }

    return 'WHERE ' . implode ( ' AND ', $wheres );
}

?>
Gewijzigd op 21/02/2013 21:47:30 door Jan Koehoorn
 
Ozzie PHP

Ozzie PHP

21/02/2013 21:22:26
Quote Anchor link
NOgmaals Jasper, goed nadenken of je dit allemaal wel wil. Ik was er ook ooit heel enthousiast over... totdat ik tot de ontdekking kwam dat queries gruwelijk lang en gecompliceerd kunnen worden. Dat krijg je nooit allemaal in functies gestopt.
 
Jasper DS

Jasper DS

21/02/2013 22:14:27
Quote Anchor link
Ozzie, wat heb jij dan gedaan?
Jan, bedankt! Ziet er beter uit mits enige aanpassingen. Zo is het beter niet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
if(count($columns) > 0)
        {
            $wheres = array();
            foreach ($columns as $key => $column )
            {
                $wheres[':' . $key] = $key . '= :' . $key;
            }
           echo 'WHERE ' . implode ( ' AND ', $wheres );

            var_dump($wheres);
        }
Gewijzigd op 21/02/2013 22:18:57 door Jasper DS
 
Erwin H

Erwin H

22/02/2013 08:39:18
Quote Anchor link
Is het niet veel makkelijker om op de plek waar je nu al die functies aan gaat roepen om de SELECT, FROM, WHERE, ORDER BY, GROUP BY, LIMIT etc clausules op te bouwen, gewoon een string met de query en (eventueel) een array met parameters door geeft. Veel flexibeler dan dat kan het niet.... En in je code uiteindelijk een stuk korter.
 
Jasper DS

Jasper DS

22/02/2013 09:59:38
Quote Anchor link
Neen want ik wil werken met een soort van ORM. In mijn model bouw ik een storage op. Deze bevat enkel data (fields, from, action, where, limit, orderby). De sotorage bouw ik zo op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$storage = new Storage('SELECT', 'users'); // action en from zijn verplicht
$storage->setFields(array('id', 'name', 'email')); // niet verplicht -> standaard *
$storage->setWhere(array('id' => 1, 'name' => 'Jasper')); // field -> value


Die dataholder gaat dan naar de adapter, dat kan een PDOAdaptor zijn, txtAdaptor, MysqlAdaptor. In de PDO en in de MysqlAdaptor word sql gegenereerd met behulp van de data van de Storage classe. De sql in de Mysql en de PDO adaptor is niet hetzelfde want PDO werkt met prepared statements en Mysql niet.

M.a.w. ik wil een adaptor kunnen opbouwen met de functies uit de Storage(builder) de storage builder word opgebouwd in mijn model want ik wil geen SQL in mijn model zodat ik daar niet van afhankelijk ben.
Gewijzigd op 22/02/2013 10:01:14 door Jasper DS
 
Erwin H

Erwin H

22/02/2013 10:08:41
Quote Anchor link
Waarom zou je in godsnaam MySQL en (of) PDO gebruiken? Allebij werken ze met mysql databases. Normaal gesproken gebruik je een andere adapter omdat je een andere database gebruikt. Een andere adapter gebruiken om maar een andere adapter te kunnen gebruiken is een beetje nutteloos. Ook omdat je het nu al in een abstractie laag gaat verwerken.

Anyway, ik ga je verder niet proberen over te halen. Doe wat je moet doen, maar ik voorspel nu dat je binnen een half jaar er weer vanaf stapt omdat het vele malen complexer is dan je nu denkt, uitermate inflexibel is (ik geef je een maand voor je je eerste query vindt die je er met geen mogelijkheid in krijgt) en het kost je veel te veel werk voor iets dat veel sneller en simpeler kan.
 
Jasper DS

Jasper DS

22/02/2013 10:58:06
Quote Anchor link
Erwin H op 22/02/2013 10:08:41:
Waarom zou je in godsnaam MySQL en (of) PDO gebruiken? Allebij werken ze met mysql databases. Normaal gesproken gebruik je een andere adapter omdat je een andere database gebruikt. Een andere adapter gebruiken om maar een andere adapter te kunnen gebruiken is een beetje nutteloos. Ook omdat je het nu al in een abstractie laag gaat verwerken.


MysqlAdaptor en PDOAdaptor was idd een slecht voorbeeld in de praktijk maar het is wel nodig voor no-SQL databases. PDOAdaptor voor alle SQL database en andere Adaptors voor no-sql databases.

Dit wil ik bereiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
public function findById($id)
    {
        $sb = new StorageBuilder('SELECT', 'gebruikers');
        $sb->setFields(array('id,', 'name'));
        $sb->setWhere(array('id' => $id));

        $result = $this->getStorage()->execute($sb);

        $this->populate($result);
    }
Gewijzigd op 22/02/2013 11:06:54 door Jasper DS
 



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.