Array uitlezen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pega developer

As a Pega developer at Mandemakers in Waalwijk you will make an important contribution to the digitization of our business processes. In your role you will coordinate and attribute to all facets of the digital transformation of our company (fulltime). As a Pega developer you will make an important contribution to the digitization of our business processes. In your role you will coordinate and attribute to all facets of the digital transformation of our company. DMG, a house full of opportunities. You will take part in a great project for DMG and for Pega. You and your team will have

Bekijk vacature »

Dynamics CRM Developer @ Regio Den Haag

2021-10-06 iSense Dynamics CRM Developer Ben jij een ervaren Dynamics Ontwikkelaar? Wil je meedenken over de toekomst van de organisatie op het gebied van Dynamics en heb je ervaring met development op het gebied van C#? Lees dan snel verder! ISBA51243 Nieuw Organisatie Voor een semi-overheidsorganisatie in de regio Den Haag zijn we opzoek naar een ervaren Developer, gespecialiseerd op Dynamics 365. Je zal verantwoordelijk worden voor het ontwikkelen van het huidige platform in Dynamics 365. Als Developer binnen dit team ga je zorg dragen voor het ontwikkelen binnen Dynamics 365 en het opzetten en optimaliseren van het Powerplatform. Ook

Bekijk vacature »

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Javascript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP code schrijven. Samenwerken met de klantreiziger om onze klanten nóg

Bekijk vacature »

Service Education Content Developer

Service Education Content Developer PURPOSE OF THE ROLE: As Service Education Content Developer in the new business venture FORS, you have an important role and can disrupt MedTech and make a real difference for patients. The proposition is new to the world and a crucial step in our Image Guided Therapy (IGT) purpose of treating patients better by innovating minimally invasive procedures. It will give you the chance to join our great journey in disrupting the current status quo within IGT. The customer-centric, fast-learning and agile FORS venture team values drive, creativity and fast decision making in an integral business

Bekijk vacature »

Android Developer

Als Android Developer, zorg je ervoor dat onze mobiele apps onze gebruikers de beste mogelijke ervaring bieden, of ze nu onze producten online bekijken en kopen of onze interne activiteiten beheren. Wat doe je als Android Developer bij Coolblue? Je specialiteit is Android dus je bent succesvol in het schrijven van Kotlin op een agile manier en doet aan pair programming met je collega's om hogere kwaliteit te garanderen. Daarnaast denk je mee over technische beslissingen zoals architectuur, tools en processen. Ook houd je de performance van de app in de gaten en analyseer je met je team hoe deze

Bekijk vacature »

.NET Developer / Azure @ Tilburg

2021-09-27 iSense .NET Developer Azure Ben jij een .NET Developer met 2 - 3 jaar werkervaring en lijkt het je leuk om te werken bij een organisatie die een grote maatschappelijke bijdrage levert binnen de Nederlandse zorgsector? Lijkt het je interessant om aan de slag te gaan in een Azure DevOps omgeving? Reageer dan nu! ISHU49852 Organisatie De organisatie waar je als .NET Developer komt te werken houdt zich bezig met het bouwen van oplossingen ter ondersteuning van de intensieve zorg in Nederland. Hierdoor kennen de applicaties tal van koppelingen met externe systemen van toonaangevende zorgpartijen en spelen ook maatschappelijke

Bekijk vacature »

BI Developer @ Utrecht

2021-10-20 iSense BI Developer Do you have a passion for database / BI development? Are you enthusiastic about your profession? Do you like to share your knowledge and actively learn from others? Do you have experience with SQL Server? If you answers are yes, then don’t hesitate to apply! ISKE49244 Organization You will work in Utrecht with one of the biggest financial institutions in the Netherlands. They operate cooperative on international financial services and are always on the lookout for the newest tools & technologies. The department you will come to work is the domain which is responsible for delivering

Bekijk vacature »

Embedded Software Developer (C, C++)

For our high-tech business partner, we are in search of a Software Design Engineer / Software Developer with a MSc. or BSc. In Computer Science and relevant experience in C, C++. Do you like to work in a challenging environment in which you are able to work on world changing technology? Read on and apply! Functie As a Software Design Engineer / Software Developer you are responsible for the development and realization of software solutions to make the machines of our business client run. It is your challenge to make the machines run as smoothly as possible, so that they

Bekijk vacature »

Angular Frontend Software Developer

De vacature Funle is een startup en een spinoff van Semantica. Funle ontwikkelt een nieuw platform voor zelfstandige IT-professionals waarmee we freelancen weer leuk maken. Samen met het core-team van 3 members ga jij helpen de wereld van de IT-bemiddeling op zijn kop te zetten. We zijn op zoek naar iemand die wil bijdragen aan iets groters dan alleen de code die hij/zij schrijft. Als startup heeft Funle behoefte aan een meedenker, iemand met een mening en de vaardigheid om die mening waar te maken. Als je één keer in je leven een verschil wil maken in de wereld van

Bekijk vacature »

Java developer

Het schrijven van software en applicaties die er echt toe doen, dit doe jij onder andere als Java developer. Wij zoeken een Java developer voor ons hoofdkantoor in Waalwijk voor 40 uur per week. Het schrijven van software en applicaties die er echt toe doen, dit doe jij onder andere als Java developer. DMG, een huis vol mogelijkheden. Als Java developer werk je aan business applicaties, API’s en webservices die zowel binnen het bedrijf als door klanten en/of zakelijke partners worden gebruikt. Op deze manier kunnen we onze klanten nog beter bedienen en kunnen medewerkers hun werk eenvoudiger uitvoeren. Het

Bekijk vacature »

Java ontwikkelaars gezocht voor onze favoriete kla

Bedrijfsomschrijving De organisatie waarin jij terecht gaat komen staat bekend om hun fijne en informele manier van werken, plezier staat hier voorop! Waar het bij deze organisatie uiteindelijk om draait: het bieden van mooie oplossingen waarbij techniek, gebruiksvriendelijkheid en design voorop staan. Medewerkers van dit bedrijf werken veelal bij opdrachtgevers op locatie om zo in samenspraak met de klant tot de beste oplossing te komen. Het hoofdkantoor van deze organisatie is gevestigd in Flevoland maar ze bedienen klanten door heel Nederland en dus ook bij jou in de buurt. Als je bij dit bedrijf aan de slag gaat zal je

Bekijk vacature »

Angular Front-end Developer

Angular Front-end Developers Technologiebedrijf gespecialiseerd in (Cloud-native) software-development, consultancy en training. AWS Select Consulting Partner en Microsoft Azure Gold Partner. Wij werken voor opdrachtgevers in de sectoren FinTech, HealthTech, Retail, Industrie en Overheid, dus variatie gegarandeerd! Wat maakt ons uniek? Onze focus op (Cloud-native) software-development in combinatie met onze persoonlijke benadering van werknemers en opdrachtevers, onze no-nonsense cultuur en de bijna onbeperkte ontwikkelingsmogelijkheden. Wij zijn op zoek naar Angular Front-end Developers met creativiteit en ervaring in front-end en mobile web-ontwikkeling. Je werkt vanuit onze vestigingen in Amsterdam, Apeldoorn, Eindhoven of Hengelo aan aansprekende projecten. Op zoek naar een zelfsturende en

Bekijk vacature »

Masterclass Low-Code Developer

Masterclass Low-Code Developer - Start 1 maart 2022 Categorie: Software Development/ Engineering Regio/Locatie: Rotterdam / Randstad, Netherlands Vacaturenummer: J1021-2299 Type dienstverband: Full Time Functiebeschrijving: De afgelopen jaren vraagt de business steeds meer om snelheid bij het oplossen van business vraagstukken en dit adequaat op te lossen met onderliggende IT. Men wil met een concrete oplossing snel in kunnen spelen op een veranderde markt. IT wordt nog vaak gezien als een vertragende component om te komen tot een oplossing. Het toepassen van Mendix Low-Code versnelt het proces voor applicatieontwikkeling substantieel. Daarnaast biedt Low-Code integratie met bestaande IT-systemen en platforms en maakt

Bekijk vacature »

Dynamics NAV / 365 BC Developer @ Ede

2021-10-27 iSense Dynamics NAV / 365 BC Developer Als Dynamics 365 BC Developer aan de slag met maatwerkoplossingen bij een software development club die internationaal zeer succesvolle applicaties bouwen voor de agrarische sector? Lees dan nu verder! ISHU48459 Organisatie Als Dynamics Business Central Developer kom je te werken bij een organisatie in regio Ede die gespecialiseerd is in het ontwikkelen en implementeren van software. Zo hebben ze een eigen ontwikkelde applicatie in de markt gezet voor de agrarische sector die internationaal zeer succesvol is en waar grote vraag naar is. Door deze software worden klanten op een slimme manier ondersteund

Bekijk vacature »

Core Java Developer

Flow Traders is looking for an experienced Core Java Developer join our growing Development team in Amsterdam. The ideal candidate is curious, methodical and a multi-tasker. This is a unique opportunity to join a leading proprietary trading firm with an entrepreneurial and innovative culture at the heart of its business. We value quick-witted, creative minds and challenge them to make full use of their capacities. If you aim high, the sky is the limit! What you will do Software Engineers in Flow Traders are working on applications that support the core business of the company. Our systems make it possible

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

29/11/2021 16:57:50
 
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.