class maar 1x

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in een ontwikkelteam met 7 .NET developers. In ons team werken er drie senior .NET developer, twee medior .NET developers en twee junior .NET developers. Er is dan ook genoeg senioriteit in ons team om jou te kunnen bieden wat jij nodig hebt! Wij werken in scrum en hebben drie wekelijkste sprints. Daarnaast doen wij minimaal vier keer per jaar een release. Ons platform is ontzettend complex en groot. Het is dan ook in het begin belangrijk dat jij de processen gaat begrijpen. Jij krijgt dan ook een cursus om beter te begrijpen

Bekijk vacature »

Medior Java developer (fullstack)

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 »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

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 »

Technical Asset Specialist Substations

TenneT is growing fast to realize its strategic ambitions. We play a leading role in driving the energy transition. We are looking for a passionate Technical Asset Specialist for substations (onshore and offshore) at our location in Arnhem who will contribute to this and that might be you? Your contribution to TenneT We are searching for a motivated and engaged colleague as a technical asset specialist (onshore and offshore) for instrument transformers and surge arresters, with preferably a strong background in the area of insulation coordination. As a specialist for insulation coordination you are responsible for overarching topics regarding insultation

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 »

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 »

Junior .NET Developer

Dit ga je doen Als junior .NET Developer lever je met jouw oplossingen direct een bijdrage aan de bedrijfsprocessen van de klanten. Werkzaamheden waar jij je zoal mee bezig houdt zijn; Het ontwikkelen, onderhouden en optimaliseren van de draaiende platforms van de klanten; Softwareontwikkeling middels C#, .NET; Klantcontact om de wensen te bespreken en uit te werken; Optimaliseren van de (huidige) bedrijfsprocessen; De IT-afdeling bestaat uit 30 personen verdeeld over 3 teams. Het team waar je in terecht komt bestaat uit ongeveer tien man. Het is een team wat bestaat uit betrokken collega’s, waar iedereen bereidt is om elkaar te

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 »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

18/02/2012 02:11:08
Quote Anchor link
Hallo,

Ik heb een Application class met uitsluitend statische functies. In deze class wordt de complete applicatie opgebouwd. Van deze class mag geen instantie worden gemaakt (de applicatie moet immers maar 1x worden opgebouwd).

Hoe kan ik nu bereiken dat er van die class geen instantie wordt gemaakt? Ik heb er nu een abstract class van gemaakt met statische functies. Dit werkt wel, maar is dit de juiste manier? Of kan ik er beter een normale class van maken en dan een singleton implementeren?
 
PHP hulp

PHP hulp

26/04/2024 07:08:38
 
- Jim  -

- Jim -

18/02/2012 02:17:17
Quote Anchor link
Door de class zelf ook static te maken.

Ik vraag me wel af of je dit echt wilt... (sterker nog, lijkt me onverstandig...)
Bijv.: Een lijst met gebruikers, kan je geen class 'User' meer gebruiken, dus moet je weer alles met arrays gaan klooien.

Misschien is het een goed idee om eens een goed boek over OO te lezen, waarin ook voor- en nadelen van bijv. statics staan beschreven. Inheritance en Design by Contract komen dan waarschijnlijk ook langszij. Dit zijn een paar voorbeelden van belangrijke onderwerpen in OO.
 
Ozzie PHP

Ozzie PHP

18/02/2012 02:21:01
Quote Anchor link
Ik ga toevallig nu beginnen een hoofdstuk te lezen over OOP. Maar ik heb het nu dus over een Application class die de configuratie inlaadt, routes inlaadt en vervolgens een action en controller... dus in die class staan echt eenmalige zaken.

"Door de class zelf ook static te maken."

Hoe maak je een class static?

static class MijnClass ??
 
- Jim  -

- Jim -

18/02/2012 02:39:53
Quote Anchor link
http://nl.php.net/manual/en/language.oop5.static.php
(deze had je vast al wel gelezen.. toch????, zo niet, RTFM!!!)

Static Class ondersteund PHP dus blijkbaar niet.
Dan zal je iets moeten maken als een soort van SingleTon Constructor.
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
<?php
private $deEnigeInstantie;

public function someFactory() {
 if ($deEnigeInstantie == null)
 {

    $deEnigeInstantie = new ClassVanEnigeInstantie();
 }

 return $deEnigeInstantie;
}


?>


Zoiets, uit mn hoofd, garandeer dus ook niet dat het zo werkt.
Gewijzigd op 18/02/2012 02:40:42 door - Jim -
 

18/02/2012 10:04:13
Quote Anchor link
Code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
class MijnClass
{
    //Private zodat vanaf buiten niet aangeroepen mag worden
    private function __construct()
    {
        
    }

    private function __clone()
    {

    }
}


En een abstracte statische class? Ik mag aannemen dat je die dan ergens extend? Want een abstracte class kun je toch niet direct gebruiken?
 
Wouter J

Wouter J

18/02/2012 10:20:46
Quote Anchor link
@Dillen, van een abstract class kun je geen instance maken. Maar een class met allemaal static methods en properties is eigenlijk niet echt een class. Static properties zijn eigenlijk een soort global variabele en static methods zijn gewoon functies die een leuk classnaampje voor hun hebben. Eigenlijk is een class met allemaal static dingen geen echt class, maar gewoon een leuke verzameling global variabelen en functies.
Daarom kun je het ook gebruik als hij abstract is.

@Ozzie, ik zou er een singleton van maken. Meer informatie: http://php.net/language.oop5.patterns.php#language.oop5.patterns.singleton
Gewijzigd op 18/02/2012 11:36:13 door Wouter J
 

18/02/2012 10:51:38
Quote Anchor link
Wouter J op 18/02/2012 10:20:46:
@Dillen, van een abstract class kun je geen instance maken. Maar een class met allemaal static methods en properties is eigenlijk niet echt een class. Static properties zijn eigenlijk een soort global variabele en static methods zijn gewoon functies die een leuk classnaampje voor hun hebben. Eigenlijk is een class met allemaal static dingen geen echt class, maar gewoon een leuke verzameling global variabelen en functies.
Daarom kun je het ook gebruik als hij abstract is.


Dan snap ik het, bedankt ;)

Maar dan is ook gelijk je hele OOP structuur weg.. Dan kun je er inderdaad beter een Singleton van maken. Of zoals al gezegd een Factory class die je website aan maakt.

Of je maakt gebruik van Dependency Injection ligt er net even aan wat/hoe je het wil!
 
Wim E

Wim E

18/02/2012 12:07:57
Quote Anchor link
En hoe zie jij dat voor je met de Dependency Injection? Betekent dat ik bij het instantieren van mijn klasse altijd een klasse moet meegeven.

Mijn voorkeur gaat voor de singleton pattern. Maar ga zeker de afwegingen maken om dit te gebruiken, kan in later stadium misschien in 1x heel onhandig worden :)
 
Niels K

Niels K

18/02/2012 12:23:00
Quote Anchor link
Volgens mij zoekt Ozzie gewoon het Front controller pattern.
Gewijzigd op 18/02/2012 12:24:12 door Niels K
 
Kees Schepers

kees Schepers

18/02/2012 12:25:18
Quote Anchor link
Haha Niels je haalt echt de woorden uit mijn mond. Toen ik Ozzie zijn vraag/bedoeling las dacht 'Jij bent gewoon op zoek naar het FrontController pattern' haha
 
Niels K

Niels K

18/02/2012 12:26:17
Quote Anchor link
Haha :-) Dat is de laatste tijd wel vaker voorgekomen ;-) Mooi dat we iig op één lijn zitten.
 

18/02/2012 12:27:11
Quote Anchor link
Kun je dan niet sowieso beter een Framework gebruiken als je begint met een Application class en daarna over gaat op een frontcontroller pattern?

Als je het steeds blijft uitbreiden bedoel ik =P
Gewijzigd op 18/02/2012 12:27:30 door
 
Niels K

Niels K

18/02/2012 12:28:33
Quote Anchor link
We hebben Ozzie al een keer Zend Framework aangeraden ;-)

Daarnaast is een Application class niet erg (mits je deze goed implementeert) maar dat was op dit moment niet het oplossing van zijn probleem.
 
Ozzie PHP

Ozzie PHP

18/02/2012 15:57:50
Quote Anchor link
Ik heb even een voorbeeldje van een frontcontroller bekeken en feitelijk lijkt dit wel op mijn Application class. Mijn application class voert alle benodigde handelingen voor een pagina request uit. Dus bijv. de settings worden ingeladen, de route wordt naar een router gestuurd die de juiste action en controller teruggeeft. En uiteindelijk wordt de pagina dan opgebouwd. Alleen ik noem het dus geen frontcontroller maar een Application. Maar... wat mijn vraag dus was / is... die Application die mag per pagina request maar 1x worden gebruikt. Immers je gaat niet tijdens 1 pagina request je pagina 2x opbouwen. Hoe kan ik voorkomen dat er meerdere instanties van de Application worden gemaakt? Ik wil dus dat die Application class slechts 1x gebruikt kan worden en daarna niet meer. Nou zo kwam ik er dus bij om de functies statisch te maken en de class abstract, zodat je niet kunt zeggen $application = new Application. Maar wellicht kan ik ook gewoon afvangen of de class al eens gebruikt is en als iemand de class opnieuw aanroept een Exception throwen? Bijv. zoiets?

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
<?php
class Application
{

static private $application_started = false;

  public function __construct()
    if (self::$application_started) {
      // gooi een Exception "De applicatie is al gestart!"
    }
    self::$application_started = true;
    // voer overige code uit
  }

}

?>


$application = new Application(); // dit gaat goed

$application2 = new Application(); // dit gaat fout, er wordt eeen Exception gegooid.

Of je zou ook alleen statische functies kunnen gebruiken, waarbij je de class wel abstract maakt (zodat je geen nieuwe instantie kunt aanmaken) en dat je dan de "start" functie public maakt en alle andere functies private en dat je dan in de start functie weer een check uitvoert. Dus hetzelfde principe als het vorige voorbeeld, maar dan met statische functies en een abstracte class, zodat de Application niet opnieuw kan worden aangemaakt. Zoiets:

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
<?php
abstract class Application
{

static private $application_started = false;

  static public function start()
    if (self::$application_started) {
      // gooi een Exception "De applicatie is al gestart!"
    }
    self::$application_started = true;
    // voer overige code uit
  }

}

?>


Wat is de beste manier?
Gewijzigd op 18/02/2012 15:58:42 door Ozzie PHP
 
Wouter J

Wouter J

18/02/2012 16:06:53
Quote Anchor link
Die laatste is niet goed, dat is doormiddel van een trick omgaan met het abstract keyword en dat lijkt me niet goed.

Ik zou de eerste gebruiken, als zou ik wel een LogicException gebruiken, of misschien wel een BadMethodCallException of een eigen exception maken.
 
Ozzie PHP

Ozzie PHP

18/02/2012 16:13:54
Quote Anchor link
Oké,dan ga ik voor de 1e optie. Ik heb besloten om alleen Exceptions te throwen als er iets mis gaat waardoor de applicatie moet stoppen. Ik heb een eigen Exception class. Nu nog heel simpel, maar die ga ik nog uitbreiden. Als er iets fout gaat als een bezoeker de site bezoekt dan toon ik een nette melding en mail ik de melding naar mezelf. Als er iets fout gaat in ontwikkel mode dan zie ik de foutmelding op m'n scherm.
 
Wouter J

Wouter J

18/02/2012 16:19:14
Quote Anchor link
Alleen exceptions? Dan haal je toch het hele nut van exceptions weg, namelijk dat je mooi verschillende lagen exceptions weg kunt zetten, zodat je die apart kunt opvangen?

Offtopic:
En een fout mailen ben ik niet zo'n voorstander van. Stel dat je 100 bezoekers per dag hebt en er zit een fout op in de Home controller. Dan krijg je dus 100 mailtjes, nog niet meegerekend dat mensen de pagina gaan refreshen.
 
Ozzie PHP

Ozzie PHP

18/02/2012 16:24:45
Quote Anchor link
Wouter, ik zou op dit moment niet weten waarom ik meerdere types nodig heb. Maar omdat ik zelf een class heb gemaakt, kan ik (eventueel als dat nodig mocht zijn) een type meegeven en aan de hand daarvan bepaalde handelingen doen. Maar ik gebruik exceptions alleen in situaties waarin de applicatie moet stoppen. Voor verkeerde invoer van gebruikers in invoervelden ga ik bijv. gewoon ifjes gebruiken. Is een persoonlijke keuze.

Dat van die mail is overigens wel een goede. Maar je moet toch weten dat er iets fout gaat? Je zou in je database kunnen bijhouden of een bepaalde melding al verstuurd is... maar als je database het niet doet gaat dat niet werken. Je zou eventueel in een bestandje kunnen bijhouden of de melding verstuurd is, maar wellicht zijn er nog betere oplossingen? Hoe dan ook, als er iets op de site fout gaat dan lijkt het me toch dat je een mailtje moet ontvangen...
 
Wouter J

Wouter J

18/02/2012 16:30:21
Quote Anchor link
Ik zou de bestanden loggen in een bestandje. Dat kan je via function.error-log doen, maar je kan ook een mooie log class maken (zie het topic 'logging clas opbouwen' en dan het antwoord van Jelmer).

In de log class kan je dan controleren of de laatste regel dezelfde fout is en als dat niet zo is kun je een mailtje sturen.
Fouten moet je altijd loggen in bestanden en niet in een db. Verder zou ik op het admin panel de mogelijkheid maken tot het uitlezen van deze log bestanden.
 
Ozzie PHP

Ozzie PHP

18/02/2012 16:43:31
Quote Anchor link
Heb je een link naar dat topic? De zoekfunctie laat me weer in de steek...
 
Wouter J

Wouter J

18/02/2012 16:46:42
Quote Anchor link
Die heb ik je vast al een keer gegeven, hij staat namelijk in het lijstje TopOO topics, maar hier is ie: http://www.phphulp.nl/php/forum/topic/de-opbouw-van-een-logging-class/81508/#577390
 

Pagina: 1 2 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.