getField i.p.v. getName

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

CMS Developer / Sitecore / C# / DevOps

Functieomschrijving Ben jij een Developer met kennis van C# / .NET en wil jij je graag specialiseren op het gebied van Sitecore? Doe jij dit het liefst binnen een gerenommeerde organisatie in de zorg? Dan is dit dé uitdaging voor jou! Binnen deze rol zal jij je als C# / .NET Developer (met de focus op Sitecore) gaan richten op het ontwikkelen van webapplicaties, platformen en portalen middels o.a. C#, Azure en Microservices die door duizenden mensen gebruikt worden? Reageer dan nu! Het ontwikkelen van webapplicaties, platformen en portalen middels o.a. C#, Sitecore, Azure en Microservices; Het leveren van jouw

Bekijk vacature »

Java Developer bij Profit4Cloud

Voor na je vakantie: De 50 collega's bij Profit4Cloud hebben het druk en daarom zoeken wij extra Java Developers Medior/Senior. Voor projecten in de sectoren Banking & Finance, Industrie, Overheden, Zorg en Retail in West-, Midden- en Oost-Nederland. Wil jij ook het verschil maken in Java 8 en waar mogelijk ook AWS Cloud technologie gebruiken? Dan moeten we zeker eens een kop koffie drinken! Wij bieden jou als Java Developer: Profit4Cloud heeft hele goede arbeidsvoorwaarden. Zo doen wij altijd een op maat gemaakte aanbieding en bieden wij in ieder geval: - OCA & OCP certificering betaald door Profit4Cloud - Onbeperkt

Bekijk vacature »

Fullstack C# developer (web, mobile, desktop) bij

Waarom jij bij het team past Werk jij graag mee aan het ontwikkelen van nieuwe functionaliteiten van een uitgebreid en complex Enterprise Resource Planning voor een internationale klant? En ontwikkel je dit graag in C# samen met een klein, hecht en gezellig team? Dan ben jij degene die we zoeken! Onze klant maakt Enterprise Resource Planning-software voor bedrijven in verschillende branches. Wegens de groei van hun grootste klant, zoeken zij naar een nieuwe collega die deze klant op zich kan nemen. Samen met de projectleider ontwikkel je specifiek voor deze internationale en groeiende klant verschillende functionaliteiten; zowel ad hoc als

Bekijk vacature »

Outsystems Developer met kennis van salarisadminis

Ben jij een kei in je vakgebied op salarisadministratie en wil je daarnaast bezig zijn met de verdere digitalisering van salarisadministratie en verwerking? Heb jij bovendien kennis van Arbo-wetgeving, de wet Poortwachter en overige aanverwante wet- en regelgeving? Als OutSystems Developer bedenk je verder oplossingen voor IT-vraagstukken op het gebied van salarisadministratie. Een afwisselende combinatie functie dus! Iets voor jou? Het betreft een leuke uitdagende en afwisselende combinatie functie Outsystems Developer/Salaris-administrateur waarbij je jouw kennis van de salarisadministratie up to date kunt houden . Jouw kennis op dit gebied zul je vooral gaan inzetten t.b.v. de software aan de salarisadministratie

Bekijk vacature »

SAP Fiori Developer / Junior / Internationaal / 1

Functieomschrijving Ga jij als SAP Fiori Developer aan de slag voor een internationaal bedrijf in Nederland met meer dan 1 miljoen klanten? Dit bedrijf heeft IT hoog in het vaandel staan en investeert er daarom fors in. Voor het SAP Fiori team binnen deze organisatie zijn zij dan ook op zoek naar een Junior SAP Fiori Developer Werken als SAP Fiori Developer binnen een multifunctioneel Scrum team; Het bouwen en beheren van nieuwe functionaliteiten en interfaces in SAP Fiori op basis van de door jou opgehaalde requirements; Naast het developen heb je ook veel contact met de business; Je zorgt

Bekijk vacature »

Junior .NET Developer

Kom jij ons team versterken als Developer bij onze Tech Hub in Utrecht? HROffice is de software development tak van Adver-Online. HROffice bestaat uit een internationaal, gedreven en leergierig team van 20 developers, visual designers en consultants. Wij ontwikkelen al tien jaar krachtige web applicaties voor zowel grote als kleine organisaties met specialisaties op recruitment (HROffice Recruitment ATS), planning en tijdsregistratie (HROffice WFM) en HR dashboards (HROffice Portal). Met twee Scrum Teams werken we voor klanten als DocData, Praxis, Bolletje en Bol.com, maar ook binnen de uitzendbranche voor Start People, Unique, CapitalP, Uitzendbureau 65+ en Kaemingk. We ontwikkelen alle applicaties

Bekijk vacature »

Software Developer / Maatwerk / 4GL / SQL

Functieomschrijving Heb jij ervaring met Software Development en wil je je graag verder ontwikkelen bij een internationaal bedrijf in regio Eindhoven? Lees dan snel verder! Software ontwikkeling met technieken als Magic XPA en DB2 relationele databases. Ontwikkelen van nieuwe onderdelen van het centrale (maatwerk) softwarepakket. Uitbreiden bestaande functies binnen het pakket. Wensen en eisen van gebruikers in kaart brengen. Meedraaien in projecten. Informatieanalyses maken en uitwerken. Jezelf ontwikkelen binnen de organisatie, bijvoorbeeld op het gebied van BI of integratie met behulp van SAP PI/PO. Ondersteunen van de helpdesk bij software issues. Functie-eisen 1 tot 3 jaar ervaring op het gebied

Bekijk vacature »

Webdeveloper

Locatie OSPEL Functieomschrijving VACATURE WEB DEVELOPER (JUNIOR/MEDIOR) 24-40 UUR PER DIRECT SALARIS IN OVERLEG LANGERE TIJD DOORGROEIMOGELIJKHEDEN OSPEL Houd je van ICT-vraagstukken en wil je graag online portalen voor de producten ontwikkelen? Je werkt hierbij nauw samen met de marketing- en salesafdeling. Communicatief ben je sterk en goed in staat om commerciële processen te vertalen naar digitale oplossingen. Ben je nieuwsgierig en sterk analytisch? Dan is deze vacature misschien wel wat voor jou! HET BEDRIJF Het bedrijf is al 25 jaar leverancier van kwalitatief hoogwaardige meststoffen. Ze staan voor kwaliteit, en dat merken hun klanten ook. Ze verkopen hun producten

Bekijk vacature »

.NET ontwikkelaar / C# / miljarden berichten

Functieomschrijving Ben jij als .NET Developer bekend met oplossingen voor zwaar berichtenverkeer? Wil jij onderdeel zijn van een organisatie in regio Den Bosch die de verantwoording heeft om grote hoeveelheden gevoelige data veilig te versturen? Dan is dit je kans om voor een topclub te komen werken! Programmeren van high-availability en high-security applicaties in C#; Samen met je teamgenoten nieuwe applicaties/diensten ontwikkelen in .NET; Overleggen met de informatie analisten en testers; Ontwikkelen van webservices (WCF); 20 % van je tijd besteden aan innovatie; Deelnemen aan projecten om nieuwe ketenpartijen toe te voegen; Bouwen van unit testen. Functie-eisen Beschikt over HBO/WO

Bekijk vacature »

Java Developer Digital

At KLM, we prefer to call back-end developers Java developers. It's because of our love of travel. The world we live in is changing rapidly, and as a developer, you're in the cockpit. Will you join us on a digital journey around the world? About the job What will your task be? You are the indispensable link in the big picture. Most of all, you will help make innovations a reality. For example, you can proudly stand next to the check-in that you have made possible. Because let's be honest: we are at the cutting edge of innovation, but without

Bekijk vacature »

Fullstack Developer Angular 6 Java Complexe omgevi

Functieomschrijving Ben jij toe aan een nieuwe uitdaging binnen een complexe technische omgeving en wil jij met je ruime kennis van Java bijdragen aan een optimaal wegennet? Dan is dit de vacature voor jou! Ontwikkelen van innovatie applicaties met behulp van Angular 6 & Java; Overleggen en samenwerken met architecten en Product Owners; Werken binnen een multidisciplinair Scrumteam met betrekking tot analyse, design en ontwikkeling; Samenwerken en ondersteunen van testers in het proces van automatische regressietesten. Functie-eisen Afgeronde HBO- opleiding (Technische richting is een pre); Minimaal 2 jaar relevante werkervaring als Fullstack Developer; Een passie voor techniek en programmeren; Technologieën,

Bekijk vacature »

Application engineer

Do you have at least 3 years of experience in engineering or computer science? Then you may be interested in the position of: Application engineer located in our EMEA headquarters in ‘s-Hertogenbosch About the position: Includes the following essential duties and responsibilities (other duties may also be assigned): Responsible for technical services and work directly with customers resolving technical issues including server systems, PC systems and computer peripherals. Identifying technical issues and resolve computer hardware & software problems. Establish and maintain lines of communication with sales team to discuss services and technical issues. Travel with sales to customer sites to

Bekijk vacature »

Software Engineer medior

Over de functie Als Software Engineer ben je met jouw scrumteam van A tot Z betrokken bij het (door)ontwikkelen van de software. Naast het ontwikkelen en testen van de software geef je ook passend advies aan onze klanten. Je maakt daarbij gebruik van de nieuwste technieken waaronder o.a. Azure, Angular,.Net core, MS-SQL server en de elastic search stack. Om je kennis up-to-date te houden verdiep je je regelmatig in nieuwe ontwikkelingen omtrent je vakgebied en probeer je deze effectief te vertalen naar mogelijkheden voor ons bedrijf. Jij als medior bent gedreven om dagelijks de mooiste ontwikkelingen te realiseren en neemt

Bekijk vacature »

Oracle SOA-OSB Developer

Jouw uitdaging als Oracle SOA-OSB Developer Integratie is het hart in alle projecten. Zowel on-premise als in de Cloud of met hybride oplossingen kom je Oracle SOA Suite en de Oracle Service Bus bij vele klanten tegen. Jij ben als SOA-OSB ontwikkelaar onderdeel van dat integratie hart en zorg je dat binnen Oracle en niet-Oracle implementaties dat integraties zo efficiënt en onderhoudbaar mogelijk worden gerealiseerd. Je werkt op een prettige manier samen in teams met ervaren professionals van Capgemini middel SCRUM/Agile. Met jouw specialistische integratie kennis voeg je concrete waarde toe door je hands-on ervaring. Met jouw overzicht en sterke

Bekijk vacature »

Senior C#.Net / Ontwikkelaar / Developer / Softwar

Functieomschrijving C#.Net / Ontwikkelaar / Developer / Software Engineer Ontwerpen van nieuwe applicaties; Herschrijven van bestaande applicaties; Meedraaien in uitdagende projecten; Code reviewen; Communiceren met de business. Functie-eisen Afgeronde HBO opleiding richting Informatica of vergelijkbaar; Minimaal 8 jaar ervaring als Fullstack Software Engineer; Ervaring met C#.Net en SQL server zijn een eis; Je hebt ervaring met het werken in een Scrum / Agile omgeving; Ervaring in het coachen van collega's; Heb je al kennis van Micrsoft Azure, dan is dit een belangrijke pré; Kennis van ASP .NET, MVC, Rest, Xamarin, XML/JSON en HTML5/CSS3 zijn mooi meegenomen. Bedrijfsomschrijving Deze organisatie is

Bekijk vacature »
The Ultimate

The Ultimate

16/01/2011 23:10:57
Quote Anchor link
Dag mensen,

Ben bezig met het opzetten van een OOP website. Uiteraard heb ik meerdere database tabellen met gegevens. Nu kan ik voor elke column in een bepaalde table het volgende doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    public function getZipcode()
    {

        if(!$result = $this->_db->query("SELECT zipcode FROM debtors WHERE id = '".$this->_id."'")) {
            throw new PDOException('Er is een fout opgetreden.');
        }
else {
            foreach ($result as $row) {
                return $row['zipcode'];
            }
        }
    }
//->getZipcode()
?>

Maar is het niet veel handiger om dit te doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    public function getField($field)
    {

        if(!$result = $this->_db->query("SELECT $field FROM debtors WHERE id = '".$this->_id."'")) {
            throw new PDOException('Er is een fout opgetreden.');
        }
else {
            foreach ($result as $row) {
                return $row[$field];
            }
        }
    }
//->getField()
?>


Graag jullie gedachten hierover...
Gewijzigd op 16/01/2011 23:12:04 door The Ultimate
 
PHP hulp

PHP hulp

24/01/2020 06:45:57
 
Jens V

Jens V

16/01/2011 23:20:46
Quote Anchor link
Als je met klassen werkt, is het dan niet de bedoeling dat je bij het opbouwen van de pagina je object inlaadt, en pas je db opnieuw contacteert als je iets verandert?
 
Bas Cost Budde

Bas Cost Budde

16/01/2011 23:39:51
Quote Anchor link
Zelfs zonder klassen is dat nog de bedoeling; iets veranderen kan toch pas met een nieuw request.

Maar Ultimate, beste kerel, middenin een foreach een return, dat loopt niet he.

Ik ben het met de essentie van je vraag eens. Als je voor elk veld een zelfde getter nodig hebt, kan dat best met de veldnaam als een parameter.

Let op 'zelfde'. Ik heb best objecten die sommige tabelvelden helemaal niet afgeven, of er stiekem eerst een bewerking op loslaten. Dan kun je __call gebruiken. Laten we afspreken dat je "veld" altijd opvraagt door $object->getVeld() te doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
public function __call($name, $args) {
  if (substr($name, 0, 3) == 'get') {
    $prop = substr($name, 3);
    if (isset($this->$prop)) return $this->prop;
    trigger_error(__CLASS__ .' heeft geen '.$prop);
  }
}
 
The Ultimate

The Ultimate

17/01/2011 08:38:26
Quote Anchor link
Jens V op 16/01/2011 23:20:46:
Als je met klassen werkt, is het dan niet de bedoeling dat je bij het opbouwen van de pagina je object inlaadt, en pas je db opnieuw contacteert als je iets verandert?
Bas Cost Budde op 16/01/2011 23:39:51:
Zelfs zonder klassen is dat nog de bedoeling; iets veranderen kan toch pas met een nieuw request.
Ik denk dat Jens bedoelt te zeggen dat je bij het instantieren van een object meteen alle mogelijke waardes uit de database in het object plaatst zodat je er de hele pagina bij kunt en dus niet telkens opnieuw een sql-query hoeft uit te voeren. Ik weet niet of dat de bedoeling is (lijkt me eigenlijk wel sneller) en hoe ik dat dan vorm moet geven. Tips zijn welkom.

Bas Cost Budde op 16/01/2011 23:39:51:
Maar Ultimate, beste kerel, middenin een foreach een return, dat loopt niet he.
Ja, je hebt ook helemaal gelijk. Die return hoort daar niet. Stom van me. Soms dan zit je zo vast in je gedachte. Het gaat in dit geval niet fout omdat het telkens om 1 waarde gaat maar dat maakt het inderdaad nog niet goed. Bedankt dat je me daarop hebt gewezen. Zal het aanpassen.

EDIT:
Ik dacht "dat pas ik wel even aan". Niet dus. Hoe kan ik onderstaande foreachloop nou het beste vervangen?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    public function getId()
    {

        if(!$result = $this->_db->query("SELECT id FROM debtors WHERE id = '".$this->_id."'")) {
            throw new PDOException('Er is een fout opgetreden.');
        }
else {
            foreach ($result as $row) {
                return $row['id'];
            }

        }
    }
//->getId()
?>


Bas Cost Budde op 16/01/2011 23:39:51:
Let op 'zelfde'. Ik heb best objecten die sommige tabelvelden helemaal niet afgeven, of er stiekem eerst een bewerking op loslaten. Dan kun je __call gebruiken. Laten we afspreken dat je "veld" altijd opvraagt door $object->getVeld() te doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
public function __call($name, $args) {
  if (substr($name, 0, 3) == 'get') {
    $prop = substr($name, 3);
    if (isset($this->$prop)) return $this->prop;
    trigger_error(__CLASS__ .' heeft geen '.$prop);
  }
}
?>
Ok, ik zie wat je me probeert te zeggen. Kan ik deze call gewoon in mijn object-class plaatsen samen met mijn algemene fieldgetter en dan een veld opvragen d.m.v. $obj->getField()? En wat is het nut dan precies van deze __call()?
Gewijzigd op 17/01/2011 10:35:35 door The Ultimate
 
Bas Cost Budde

Bas Cost Budde

17/01/2011 23:22:45
Quote Anchor link
* foreach: sja, wat wil je? Je query lijkt door de WHERE 1 record op te halen, klopt dat?

__call is een magische methode. Zoek maar op, is leuk. Hij gaat af wanneer je een methode op een object aanroept die je niet gedefinieerd hebt (of die niet bereikbaar is, dwz niet publiek, of indien uit een subklasse aangeroepen, private).

Je vraagt een veld 'huisnummer' op met $obj->getHuisnummer, zonder dat je die methode hoeft te schrijven. Hm, doe in dat geval ook nog even strtolower() bij de toekenning aan $prop; ik heb zelfs een methode die camelcase omzet in underscored, als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
    private function flatcamel($name) {
    // om het helemaal mooi te maken, camelcaps weer omzetten naar underscores. Oeps: als de eerste letter een hoofd- is, niet underscoren
        return strtolower(preg_replace('/(?!^)[A-Z]/', '_\0', substr($name, 3)));
    }
 
Pim -

Pim -

18/01/2011 00:11:44
Quote Anchor link
In plaats van die foreach kan je $result->fetchAssoc() oid gebruiken.
 
Rudie dirkx

rudie dirkx

18/01/2011 00:23:23
Quote Anchor link
Quote:
Maar Ultimate, beste kerel, middenin een foreach een return, dat loopt niet he.


Waarom is een return binnen een foreach slecht? Als je een onbekend aantal elementen hebt - laten we zeggen dat het er heeel veel zijn - en de eerste van de elementen die iets speciaals heeft, is de uitkomst van je function... Wat is er dan perfecter dan een return in een foreach?

flatcamel wordt trouwens ook wel een slug genoemd. Of sluggen of slugifyen of zoiets.
Gewijzigd op 18/01/2011 00:23:56 door rudie dirkx
 
Bas Cost Budde

Bas Cost Budde

18/01/2011 21:44:34
Quote Anchor link
Rudie, mijn opmerking had een nauwere scope dan jouw wedervraag. Ultimate probeert iets dat hij op die manier niet goed uitdrukt.
Dan nog heb ik liever geen return in een foreach. Als je heel veel elementen ophaalt en er dan toch maar een behandelt, deugt je algoritme niet voor de taak onderhanden. (En je laat wel heel veel werk liggen voor de garbage collector, en als C-student had je een vette onvoldoende van me gekregen op een tentamen. Maar dat helemaal terzijde :) )


slug, wat is dat ook alweer? Ik kwam het tegen in een CMS, als een string die direct in de url gezet mag worden, in tegenstelling tot de productnaam die spaties en dergelijke ellende kan bevatten.
 



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.