dicht timmeren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

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 »

Webshop beheerder / Fullstack developer

Functie omschrijving Wij zijn op zoek naar een full stack developer die zich bezig gaat houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Lees dan snel verder! Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator

Bekijk vacature »

Medior/senior Front-end developer

Functie 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 gebouwd, of grote complexe wijzigingen worden doorgevoerd op bestaande omgevingen. Je kunt (afhankelijk van jouw wensen en doelen) dus afwisselend werken in beide teams. Hiernaast participeer je in het Chapter Front-end development waar gezamenlijk kennis en ervaring wordt gedeeld. Als Front-end developer is het jouw doel

Bekijk vacature »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld

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 »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

Laravel / PHP developer

Functie omschrijving Wij zijn op zoek naar een Medior PHP / Laravel Developer voor een IT-consultancy in de omgeving van Hoofddorp! Ben jij op zoek naar een leuke nieuwe uitdaging binnen een veelzijdige werkomgeving? Lees dan snel verder! Binnen dit bedrijf werk je in een ontwikkelteam, waarin je zeer betrokken bent en meedenkt over softwareoplossingen. Binnen dit Team hou je je bezig met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken;

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

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 »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Als developer bouw je in DevOps teams aan enterprise applicaties, nieuwe IOT, Chatbots of AI oplossingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren in dit vakgebied. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij vorig jaar Microsoft Partner of the year geworden.

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Pagina: « vorige 1 2 3 4 5 volgende »

Niels K

Niels K

01/03/2012 10:15:35
Quote Anchor link
Allright! :-)

Je weet wie het zegt he ;-) Beter dan dat iemand het zegt met zun volle verstand.
Gewijzigd op 01/03/2012 10:15:59 door Niels K
 
PHP hulp

PHP hulp

28/04/2024 15:22:12
 
Ozzie PHP

Ozzie PHP

01/03/2012 10:23:27
Quote Anchor link
Hehe... dat is waar, en ach van een kieviet kan ik het wel hebben :)
 
Ozzie PHP

Ozzie PHP

02/03/2012 22:15:40
Quote Anchor link
Nu heb ik toch nog even een leuke vraag. Ik ben bezig met een database class die de PDO class extend. Ik wil gebruik maken van method chaining.

$rows = $database->select('veld')->from('tabel');

Nu wil ik per pdo driver een class maken (ik noem 'm even "class X") die gebruik maakt van een aantal aparte "basis classes" voor iedere functie (select, insert, update, delete).

Oké, so far so good...

Nu wil ik in "class X" een magische __call functie gebruiken die op basis van de aangeroepen functie een van de "basis classes" aanroept.

$rows = $database->select()->... roept de basis class "PDO_Select" aan
$database->delete{}->... roept de basis class "PDO_Delete" aan
enz.

Nu mijn vraag:

Als ik een niet bestaande functie aanroep:

$database->bestaatniet()

Dan wordt via mijn autoload functie een niet bestaande class aangeroepen, namelijk "PDO_Bestaatniet". Mijn autoload functie gooit dan een exception die keurig meldt dat de class "PDO_Bestaatniet" niet bestaat.

Stel nu dat je als programmeur een typefoutje maakt:

$database->duhliet()->...

Dan krijg je een melding dat de class "PDO_Duhliet" niet bestaat. Echter, het zou gebruikersvriendelijker zijn om een "relevante" foutmelding te tonen, bijvoorbeeld:

De door u aangeroepen database actie "duhliet" bestaat niet.

Nu kan ik dit wél voor elkaar krijgen door eerst te controleren via file_exist of de class (het bestand) bestaat.

Dit houdt alleen wel in dat bij iedere database actie die ik doe een file_exist controle moet worden gedaan om te controleren of het een geldige functie betreft.

De afweging is nu dus:

1) Als de functie niet bestaat wordt een foutmelding getoond dat de class niet bestaat. Deze oplossing is niet zo heel gebruiksvriendelijk omdat de foutmelding niet echt heel duidelijk is.

2) Als de functie niet bestaat, wordt er keurig een foutmelding getoond die meldt dat de betreffende database functie niet bestaat. Helemaal top, super gebruiksvriendelijk! ...alleen bij iedere database actie die wordt uitgevoerd moet wel even een file_exist worden uitgevoerd.

Welke van deze 2 opties heeft jullie vooorkeur?
 
Niels K

Niels K

03/03/2012 11:30:31
Quote Anchor link
Hoi Ozzie,

Ik denk dat je heel even de mist in gaat met je denkwijze. Waarom voor elke actie een nieuwe class? Ik weet niet hoeveel methode PDO heeft maar zal toch wel richting de 50 gaan.. Is dat geen overkill? ;-)

Probeer eens gebruik te maken van het Adapter pattern?

Voorbeeld: (heel summier)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

abstract Db_Adapter_Abstract {}

?>


Bovenstaande is de normale 'abstract' class van de database handler. Je kan dan verschillende Adapters hebben.

- PDO
- Mysqli
- Oracle
- Db2
- Sqlsrv

Zijn er vast nog wel meer te vinden, maar het gaat even om het idee. Stel we willen als adapter class Mysqli:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

class Db_Adapter_Mysqli extends Db_Adapter_Abstract {}

?>


En wat als we nu PDO willen doen? Voor PDO heb je toch ook verschillende Adapters? Jep, dat klopt. Geen enkel probleem. We maken weer een abstracte class

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

abstract class Db_Adapter_Pdo_Abstract extends Db_Adapter_Abstract {}

?>


Als we dan een PDO Mysql adapter willen gebruiken doe je dat als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

class Db_Adapter_Pdo_Mysql extends Db_Adapter_Pdo_Abstract {}

?>


Snap je de werking van mijn opzet? Snap je wat een abstracte class doet en kan? Als je deze structuur gebruikt houd je, je nog netjes aan het Adapter pattern ook. Tenminste dat denk ik ;-)

De aanvulling van de methodes moet je even zelf verzinnen. Is gelijk een mooie oefening om het een beetje onder de knie te krijgen.

Het gaat mij namelijk om de denkwijze die jij op dit moment hebt. Het is ansich begrijpelijk dat je zo denkt, maar dat betekend niet dat het ook daadwerkelijk allemaal klopt.

Wanneer je dit helemaal snapt en (goed) geïmplementeerd hebt kunnen we eens gaan kijken naar het verder bouwen van je ORM.

Succes ;-)
 
Wouter J

Wouter J

03/03/2012 11:48:55
Quote Anchor link
Niels, voor de CRUD (creating, reading, updating, deleting) is het toch wel beter om verschillende klasse te maken? Of is dat ook niet correct, dan moet ik mijn AR aanpassen...
 
Ozzie PHP

Ozzie PHP

03/03/2012 14:36:26
Quote Anchor link
Niels, dankjewel voor je uitleg. Dat klinkt allemaal best ingewikkeld wat je zegt...

Mijn bedoeling was om te doen wat Wouter zegt. Dus een aparte (pdo) class voor select, update, insert en delete. Uitsluitend voor die acties wil ik een aparte class maken. Dat zijn er dus 4. Per class krijg je dan weer specifieke functies die bij een select/delete/update/insert query horen. Is dat niet goed dan?

Toevoeging op 03/03/2012 15:28:39:

Oh ja, voordeel als je die 4 losse classes gebruikt... ik kan alleen de functies aanspreken die bij een select/update/insert/delete query horen omdat alleen deie functies in de class aanwezig zijn.

Ik kan dus niet per ongeluk zoiets doen als

$rows = $database->select()->from()->delete()->where();

Aangezien de functie delete() in de select class niet bestaat kan ik deze dus ook nooit aanroepen. Dat lijkt me toch ook wel een voordeel van het gebruik van losse classes.
 
Wouter J

Wouter J

03/03/2012 16:46:04
Quote Anchor link
Niels, ik dacht aan zoiets, is dit dan fout? (alleen even voor de read gedeelte gedaan)
Afbeelding

Het lijkt me ook een stuk beter OO, omdat je zo de taken van read, create, update en delete verdeelt over verschillende klasse.
Gewijzigd op 03/03/2012 16:47:05 door Wouter J
 
Ozzie PHP

Ozzie PHP

06/03/2012 10:12:21
Quote Anchor link
Is het een goede gewoonte om variabelen te typecasten?

Stel dat je een functie setString($string) hebt, die alleen door programmeurs wordt gebruikt. Moet je er dan vanuit gaan dat de programmeur zo slim is dat ie inderdaad een string invoert, of moet je de invoer toch typecasten naar een string?

Dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
public function setString($string) {
  $this->string = (string) $string;
}
  
?>


Is dit een goede gewoonte of is het overkill?

Of moet je het nog verder doortrekken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
public function setString($string) {
  if (!is_string($string)) {
    // throw Exception
  }
  $this->string = $string;
}
  
?>
 
Wouter J

Wouter J

06/03/2012 14:01:44
Quote Anchor link
Ik gebruik altijd typecasten, ik wil zeker weten dat er in de variabele zit wat ik verwacht. Ik vind het een goede gewoonte.
 
Ozzie PHP

Ozzie PHP

06/03/2012 14:17:39
Quote Anchor link
Oké, top. Dat ga ik mezelf ook maar eens aanwennen :) Denk dat het geen verkeerde gewoonte is.
 
Jacco Brandt

Jacco Brandt

06/03/2012 16:33:23
Quote Anchor link
Of je doet dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php
function setString(string $string)
 
Wouter J

Wouter J

06/03/2012 16:37:07
Quote Anchor link
@Jacco, helaas kan dat niet in PHP :(
 
Eddy E

Eddy E

06/03/2012 16:46:51
Quote Anchor link
Dit wel (lekker onzinnig, maar het werkt)

$string = trim($string." ");
 
Ozzie PHP

Ozzie PHP

06/03/2012 18:12:16
Quote Anchor link
@Eddy... dat is inderdaad behoorlijk onzinnig ;)
 
Wouter J

Wouter J

06/03/2012 18:13:37
Quote Anchor link
Of je doet gewoon dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$str
= ''.$myStr;
?>


Dit is geen typecasten, maar type juggling.
Gewijzigd op 06/03/2012 18:13:54 door Wouter J
 
Ozzie PHP

Ozzie PHP

06/03/2012 18:16:13
Quote Anchor link
Dan liever dit toch?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$string
= (string) $string;
?>
 
Niels K

Niels K

06/03/2012 18:29:50
Quote Anchor link
Olá,

Excuses voor de laatste reactie, dit topic was me heel even ontschoten.
Wouter, naar mijn mening heb jij het bij het rechte eind. Je zou voor de grap eens moeten kijken naar Zend_Db en naar Zend_Db_Table. Dat vind ik persoonlijk een geweldige oplossing.

@Ozzie,

Ik cast nooit wat ;-) Of iig bijna nooit.
 
Ozzie PHP

Ozzie PHP

06/03/2012 18:33:36
Quote Anchor link
@Niels... waarom niet? Is op zich toch wel een goede / nette gewoonte?

(ik deed het voorheen ook niet...)
 
Niels K

Niels K

06/03/2012 18:35:33
Quote Anchor link
Elke keer een var naar een array of string casten? Nee, lijkt mij niet de bedoeling. Typehinting gebruik ik dan weer wel (heel veel) ;-)
 
Ozzie PHP

Ozzie PHP

14/03/2012 08:50:08
Quote Anchor link
Ben ik weer even. Toch nog even een vraag... ik heb namelijk het gevoel dat ik misschien teveel aan het "dicht timmeren" ben.

Voorbeeld:

Ik kan via een select functie gegevens opvragen uit de database.

$row = $database->select('veld1', 'veld2')->from(...)->where(...)

Wat ik nu doe, is controleren of ieder veld in de select functie een string is. Zo niet dan gooi ik een Exception. Datzelfde doe ik bijvoorbeeld ook voor de from. Is de opgegeven tabel naam een string? Nee? Dan gooi ik een Exception.

Ik zou ook de veldnamen in de select functie kunnen typecasten naar strings, maar als iemand dan true (een boolean) als veldnaam zou invoeren, dan zou dit worden omgezet naar een "1" en dan krijg je wellicht onverwachte resultaten terug. Vandaar dat ik dus controleer of de veldnaam een string is.

Ander voorbeeld:

Een functie om een bericht op het scherm te tonen. De parameter $exit geeft aan of het script na het tonen van het bericht moet stoppen (die). Ik controleer in de functie of de parameter $exit wel een boolean is. Zo niet, dan gooi ik een Exception.

Wat vinden jullie? Hoe ver moet ik gaan? Want om nu in iedere functie te gaan controleren of de verwachte invoer een string is... tja, ik weet het niet :-s

Graag advies!
Gewijzigd op 14/03/2012 08:51:21 door Ozzie PHP
 

Pagina: « vorige 1 2 3 4 5 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.