[oop] waarom geen warning/notice?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

Embedded Developer C++

Functie omschrijving Ben jij op zoek naar een leuke uitdaging als Embedded Developer, zoek dan niet verder! Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een Embedded Developer die graag met Embedded Devices werkt. Je zult verantwoordelijk worden voor het ontwikkelen en onderhouden van diverse producten. Jouw specialisatie ligt op het vlak van software, hardware en back-end. Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Voor een leuke opdrachtgever zijn wij op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Hoofddorp. Binnen deze functie vervul je een onsite learning programma waarbij je aan de slag gaat met PHP en Laravel. Hierbij ben je voornamelijk werkzaam op verschillende klantlocaties en is het jouw taak om hun wensen en eisen

Bekijk vacature »

Software Developer (Junior functie)

Functieomschrijving Wij zijn op zoek naar een Software Developer! Sta jij in de startblokken om je carrière te beginnen en kan je niet wachten om toffe software te gaan ontwikkelen? Kortom, ben je onlangs afgestudeerd of sta je op het punt om je papiertje te behalen? Voor een IT dienstverlener dat gespecialiseerd is in Microsoft technologie zijn wij op zoek naar C#.NET Developers. Het bedrijf heeft meerdere klanten in regio Utrecht waar je permanent kan komen te werken. Kom je liever te werken bij een klein softwarebedrijf of bij een groot consultancy bureau? Dat is helemaal aan jou de keuze!

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 »

Senior .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. 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. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

03/07/2014 18:36:37
Quote Anchor link
Zie dit codevoorbeeld: http://3v4l.org/XcH5I

Waarom komt er geen melding als ik een statische functie op een niet-statische manier aanroep?

Als ik een array-key opvraag die niet bestaat, volgt er een notice dus error reporting staat aan.

Ik zou verwachten dat je een statische functie altijd statisch moet aanroepen??
 
PHP hulp

PHP hulp

28/03/2024 22:31:43
 
Wouter J

Wouter J

03/07/2014 20:14:48
Quote Anchor link
Omdat PHP nou eenmaal zou werkt...

Iets uitgebreider, statische functies kun je in PHP als instance functies aanroepen, maar instance functies niet als statische functies.
 
Ozzie PHP

Ozzie PHP

03/07/2014 22:33:29
Quote Anchor link
Aha, oké... dat wist ik niet.

Dus om te voorkomen dat ik (per ongeluk) een statische class ga initialiseren, is dus de enige oplossing om een private constructor te maken?
 
Wouter J

Wouter J

03/07/2014 23:00:56
Quote Anchor link
Waarom zou je dat niet willen? Ga niet je hele applicatie dicht bouwen...

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools." -Douglas Adams
 
Ozzie PHP

Ozzie PHP

03/07/2014 23:29:22
Quote Anchor link
Ik snap wat je bedoelt. Maar ik maak dus bewust een statische class, met als bedoeling dat die altijd statisch wordt aangeroepen. En dan blijkt dat je 'm gewoon kunt instantiëren en vanuit de instance de statische functies kunt aanroepen. Dat vind ik maar vaag :(
 
Wouter J

Wouter J

04/07/2014 00:55:52
Quote Anchor link
Statische klassen bestaan niet in PHP.
 
Ozzie PHP

Ozzie PHP

04/07/2014 01:00:30
Quote Anchor link
Hoe bedoel je Wouter? Een class met alleen statische methods is toch een statische class (eventueel met private constructor)?
 
Thom nvt

Thom nvt

04/07/2014 10:30:35
Quote Anchor link
Wat Wouter bedoelt is dat PHP geen statische classes heeft op een manier zoals bijvoorbeeld in C#. Je kan in PHP een class niet markeren als 'static' maar members en methods wel. (zie: http://php.net/manual/en/language.oop5.static.php)
 
Wouter J

Wouter J

04/07/2014 10:38:13
Quote Anchor link
>> Hoe bedoel je Wouter? Een class met alleen statische methods is toch een statische class (eventueel met private constructor)?

Nee, dan heb je alsnog een normale class, maar dan met statische methods. Als PHP wel statische klassen had, dan had ie wel betere gesupport gehad voor bijv. het initializen van de statische klasse.
 
Ozzie PHP

Ozzie PHP

04/07/2014 12:17:09
Quote Anchor link
Ah oké... ik heb een autoloader die "statische" classes kan initialiseren :)
 
Wouter J

Wouter J

04/07/2014 12:36:09
Quote Anchor link
Dan doet jouw autoloader veel meer dan loaden...
 
Ozzie PHP

Ozzie PHP

04/07/2014 12:37:51
Quote Anchor link
Yup... 't is een magische autoloader :D

(alleen mijn default autoloader doet dit overigens, de PSR varianten doen dit niet)
 
Wouter J

Wouter J

04/07/2014 13:30:13
Quote Anchor link
Dan doe je echt iets goed verkeerd. In PHP heeft elke klasse maar 1 functie, je autoloader laad nu klassen in en initialiseerd klassen. Daarnaast bepaald hij dus ook nog het type klasse. Dat is veel te veel voor een autoloader.

Een autoloader hoort alleen te laden, meer niet. De rest is de verantwoordelijkheid van andere klassen.
 
Ozzie PHP

Ozzie PHP

04/07/2014 13:37:43
Quote Anchor link
Is een keuze Wouter. Het is een handigheidje waardoor ik statische classes automatisch kan initialiseren, net zoals niet-statische classes automatisch worden geconstruct. Op het moment dat een class in gebruik wordt genomen, moet ie gebruiksklaar worden gemaakt. Anders kun je de class niet op een geldige manier gebruiken. Je zou het initialiseren dus kunnen zien als onderdeel van het laden.
 
Wouter J

Wouter J

04/07/2014 14:12:31
Quote Anchor link
Wacht even, een statische klasse die gebruiksklaar gemaakt moet worden? Dat kan niet. Static betekend dat ze niet afhankelijk zijn van een instance of wat dan ook. In andere woorden: static klassen zijn altijd klaar voor uitvoeren. Static klassen zijn niet meer dan losse functies groeperen.
 
Ozzie PHP

Ozzie PHP

04/07/2014 14:17:55
Quote Anchor link
En toch (hoewel het niet vaak zal voorkomen) kan er zich een situatie voordoen waarin je een statische class wilt initialiseren. Ik heb een statische class waarbij ik iets met de class constants moet doen, voordat je de class kunt gebruiken. Nu kan ik telkens als ik een method in die class aanroep controleren of die handeling al is uitgevoerd, of ik initialiseer de class eenmalig bij het inladen.
 
Ward van der Put
Moderator

Ward van der Put

04/07/2014 14:58:18
Quote Anchor link
Ozzie, dan is er nog een mogelijkheid: je kunt de configuratie van een klasse eenmalig inladen zonder de klasse zelf te laden. Dat is eigenlijk ook wat er gebeurt met configuratie-instellingen in php.ini.

Als je die "static" klasse abstract maakt, werken de static methoden overigens ook nog steeds. Dat lijkt me dan de elegantste work-around.
Gewijzigd op 04/07/2014 14:58:40 door Ward van der Put
 
Ozzie PHP

Ozzie PHP

04/07/2014 15:05:44
Quote Anchor link
Ward, ik denk niet dat dat lukt.

Stel ik heb deze class:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

class color {

  const blue = 1;
  const red  = 2;

  static private $reversed;

}

?>

De gedachtengang is dat ik in de statische $reversed property de constanten omgedraaid wil opslaan, dus zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
[reversed]
   1 => blue
   2 => red

Hiervoor gebruik ik de initialisatie method (in een abstracte parent class).

>> je kunt de configuratie van een klasse eenmalig inladen zonder de klasse zelf te laden.

Dat lijkt me niet mogelijk.
 
Wouter J

Wouter J

04/07/2014 15:43:16
Quote Anchor link
Ozzie, dan doe je zoiets de eerste keer dat je een method aanroept. Zoiets hoor je niet in een autoloader te regelen.
 
Ozzie PHP

Ozzie PHP

04/07/2014 17:57:18
Quote Anchor link
Wouter, dat zou kunnen, maar dan moet ik telkens als ik een method aanroep een controle gaan uitvoeren. Da's ook niet echt chique toch? :-(
 
LEDfan nvt

LEDfan nvt

04/07/2014 18:12:21
Quote Anchor link
Het zorgt er wel voor dat overal waar je die statische classe gebruikt je afhankelijk bent van die specifieke autoloader....
 

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.