class maar 1x

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Retail gigant zoekt .NET developer

Bedrijfsomschrijving Deze retail gigant is gevestigd in een mooi pand dat van alle gemakken is voorzien. Er werken een paar honderd medewerkers verdeeld over diverse afdelingen, waaronder ook de IT afdeling. Ze hebben een aantal kwaliteitsmerken in de markt staan die binnen de meeste huishoudens wel te vinden zijn. Ze hebben hier oog voor detail binnen de producten maar zeker ook oog voor de medewerkers. Zo zijn er veel mogelijkheden voor persoonlijke ontwikkeling maar ook een goede werk privé balans en een aantal mooie secundaire arbeidsvoorwaarden waar je gebruik van kan maken om in vorm te blijven. Verder is er

Bekijk vacature »

BI Developer

Bedrijfsomschrijving De organisatie waar je komt te werken als (Senior) BI Developer is een grote internationale financiële instelling. Met vele vestigingen in Nederland zijn ze een belangrijke speler op de financiële markt. Jij zal hoofdzakelijk op het kantoor in Amsterdam werkzaam zijn, maar het kan ook voorkomen dat je af en toe naar een andere vestiging gaat. Het bedrijf telt ongeveer 5000 medewerkers waarvan ruim 150 ICT'ers. Het team waar je in komt te werken als (Senior) BI Developer is een ambitieus BI team dat zich bezighoudt met lokale en internationale uitdagingen. Zo zit een Junior BI Developer, 2 (Medior)

Bekijk vacature »

Applicatiebeheerder

We zoeken voor deze functie een absolute kei op het gebied van SQL, Power BI, .NET Core, EDI, API en ERP-systemen. De ideale Applicatiebeheerder ziet het als een uitdaging om ook zelf de juiste oplossingen te bedenken en te bouwen en durft daarbij out-of-the- box te denken. Je bent communicatief vaardig en pragmatisch en weet met een natuurlijke drive de vertaling te maken van onze operatie naar gebruiksvriendelijke oplossingen voor interne en externe klanten. Om zo de spreekwoordelijke spil te zijn tussen mens en applicatie. Applicatiebeheerder Breda, 36-40 uur per week Herkenbaar? Lees dan verder wat je als Applicatiebeheerder gaat

Bekijk vacature »

Technical Lead Developer met doorgroei mogelijkhed

Voor een toonaangevende specialist in softwareoplossingen gericht op strategisch portfolio management ben ik op zoek naar een ambitieuze Technical Lead. De applicatie is volop in ontwikkeling. Zo worden er vele nieuwe functionaliteiten toegevoegd in .Net Core en staat een migratie naar de Azure op de planning. Om deze ontwikkeling te begeleiden en het team aan te sturen, zijn ze op zoek naar een ambitieuze Technical Lead. Wat je gaat doen: Een roadmap maken voor de komende jaren De juiste architectuur neerzetten, hands-on ontwikkelen (front-end en back-end) De migratie naar Azure begeleiden Het 8-koppige ontwikkel team inhoudelijk aansturen en coachen Communicatie

Bekijk vacature »

Junior C# Software Developer / .NET Core

Bedrijfsomschrijving Onze klant in regio Breda bedient een internationale kring van in- en verkoop organisaties en leveren de bijbehorende IT oplossingen. Zo leveren ze een volledig ERP pakket waar alle facetten van het bedrijf in terug komen zoals inkoop, verkoop, voorraad, transport, et cetera. Het pakket heeft enorm veel variabelen wat het heel boeiend maakt als ontwikkelaar en er zijn koppelingen met diverse boekhouding programma's als Exact en AccountView. Dit volledige maatwerkpakket wordt voor klanten ingericht, hiervoor zijn business consultants in dienst die de requirements hiervoor ophalen. Vervolgens wordt het pakket ontwikkeld in C# in Visual Studio 2019. Eind 2021

Bekijk vacature »

Senior C# Developer

UPS Nederland zoekt een Senior Developer C# * Remote werken mogelijk Wil jij werken aan complexe IT-systemen bij een van de grootste logistieke werkgevers ter wereld? Als ontwikkelaar bij UPS werk je aan opkomende technologieën en DevOps processen om ervoor te zorgen dat onze logistieke processen zo soepel en efficiënt mogelijk verlopen. Dit ga je doen Je bent betrokken bij alle facetten van applicatieontwikkeling. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en concepten, bouwt efficiënte en testbare code, identificeert en integreert modulaire

Bekijk vacature »

Datawarehouse specialist / ETL Ontwikkelaar

Bedrijfsomschrijving Onze klant is een semi overheidsinstelling. Ze zijn bezig met het bouwen van een nieuwe BI omgeving. Ze hebben onderzocht hoe het datalandschap en de informatievoorziening geprofessionaliseerd kan worden. Als DWH Ontwikkelaar kun jij hier een belangrijk rol in gaan spelen over hoe je het verder gaat uitvoeren. Het is een informele organisatie met een goede werksfeer. De mensen die er werken zijn ambitieus en werken met de nieuwste technieken. Ben jij toe aan een nieuwe uitdaging als datawarehouse ontwikkelaar waar jij kunt meebouwen aan een nieuwe omgeving? Dan is deze functie je op het lijf geschreven. Functieomschrijving Datawarehouse

Bekijk vacature »

Full-Stack Software Developer

Bedrijfsomschrijving De organisatie is één van de grote op het gebied van performance marketing. Ze staan bekend als een organisatie die hoogwaardige software en algoritmes bouwt. De software en algoritmes worden ingezet bij organisaties om op piekmomenten de sales/branding te vergroten. De organisatie staat niet bekend als de goedkoopste in de markt maar de oplossing die ze bouwen werkt zo goed dat ze wereldwijd grote klanten hebben. De organisatie maakt de afgelopen jaren een enorme groei door en is daarom opzoek naar versterking in het development team. Als Fullstack Software Developer kom je te werken in het Tech Team. Het

Bekijk vacature »

Technical application manager

Technical application manager (NL) Are you the technical application manager (M/F) who wants to work at an international family business that is growing fast? Will you strengthen our team with your talents? You will shape our digital innovation! ‘Team Emons’is a community of people who work internationally. It means that you will be advising and solving issues for colleagues from all our divisions within Europe. You will work in an enthusiastic diverse team with the motto ‘work hard, play harder’. Main goal on this position is for you to manage and improve the applications we use at the Emons Group.

Bekijk vacature »

Full Stack .NET Developer voor zakelijke vergelijk

Dutch is mandatory for this position. Als Full Stack C#.NET Developer zorg jij ervoor dat het vergelijkingsplatform over de nieuwste functionaliteiten beschikt. Deze applicatie ondersteunt assurantiekantoren in het inzichtelijk maken en vergelijken van verschillende verzekeringsproducenten. Denk hierbij aan de meest actuele gegevens over premies en voorwaarden. Dit doen zij volledig onafhankelijk. Als Developer ben je bedreven in het samenvoegen van verschillende web services en databasen. Samen met jouw collega’s ben je verantwoordelijk voor het volledige ontwikkeltraject. Je schakelt makkelijk met verschillende afdelingen over bestaande en nieuw te ontwikkelen functionaliteiten. Naast het ontwikkelen van nieuwe functionaliteiten, zal je ook de bestaande

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Met jouw expertise zorg je als java developer voor de meest plezierige en efficiënte klant ervaring. Met jouw state-of-the-art-systemen verbeter je onze business en maak je echt impact! Want als je in ons tech team werkt, houd je jezelf en Nederland in beweging. Wij zijn continu bezig onze business en processen te optimaliseren, zodat we onze klanten en kandidaten meer gemak, snelheid en transparantie kunnen bieden. Impactvolle tech, daar doen we het voor. wat ga je doen? Met jouw slimme en gave oplossingen breng je mensen en werk dichter bij elkaar. Samen met jouw team uiteraard. Binnenstromende functionele vragen

Bekijk vacature »

Applicatiebeheerder Teams

Wil jij samen met collega’s en inwoners vorm geven aan de ontwikkeling en ambities van een hele sociale stad in een mooie groene omgeving? Wil je een bijdrage leveren aan een toekomstgerichte organisatie? Lees dan gauw verder! Functioneel/technische applicatiebeheerder Teams Voor 32 tot 36 uur per week Wat ga je doen? Wageningen is net begonnen met het in gebruik nemen van Teams. De scope is daarbij nu nog beperkt tot het digitaal vergaderen. Stapsgewijs worden meer mogelijkheden van Teams in gebruik genomen. Je hebt binnen deze functie meerdere taken die je samen met een collega uitvoert: Autoriseren en inrichten van

Bekijk vacature »

.NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

Medior PHP Developer

Bedrijfsomschrijving Voor een leuke en klein bedrijf ben ik op zoek naar Medior PHP developer. Je komt terecht in een leuk, gezellig en hecht team van ambitieuze ontwikkelaars en designers. Je gaat werken aan hun eigen ontwikkelde platform die gebruikt wordt door freelancers die een soort payrollconstructie aangaan. Het platform is zo succesvol geworden dat ze daarom per direct op zoek zijn naar een PHP Developer. Hun motto is Work hard, play hard.... maaaaaaaaar elke dag met veel plezier aan het werk! Functieomschrijving We zoeken een PHP developer die het platform samen met het team naar grotere hoogtes kan laten

Bekijk vacature »

Sogyo zoekt medior software developer

Sogyo zoekt software engineers die klaar zijn voor de volgende stap! Heb jij de eerste stappen in je IT carrière gezet en ben je op zoek naar verdieping en verbreding van jouw kennis en vaardigheden in software engineering, lees dan verder! Sogyo biedt jou een traject waarin jouw ontwikkeling als software engineer centraal staat. Je start met een opleiding van 2 à 3 maanden op maat gemaakt naar jouw niveau en wensen. Belangrijk hierin is de combinatie van concepten, frameworks en tooling. De onderwerpen komen aan bod middels workshops, lectures, individuele opdrachten en een eindproject. Je krijgt een begeleider toegewezen

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

14/04/2021 19:13:56
 
- 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.