[oop] niet bestaande class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Software Developer

Dit ga je doen Als .NET Software Developer zul jij je voornamelijk bezig houden met: Het van scratch af aan bouwen van applicaties (.NET, C#, Bootstrap, KnockoutJs en WebAPI2); Het testen van jouw code d.m.v. het uitvoeren van unittesten; Het oplossen van bugs in de code; Het onderhouden van contact met collega's betreffende de door jouw ontwikkelde applicaties; Het verbeteren en doorontwikkelen van maatwerkapplicaties. Hier ga je werken Jij gaat aan de slag als .NET Software Developer en gaat je focussen op het bedenken, ontwikkelen en testen van maatwerkapplicaties in voornamelijk C#. Dit ga je doen bij een grote, internationale

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

Bekijk vacature »

Back-end Software Developer

Functie omschrijving Ben jij op zoek naar een uitdagende development functie bij een klein gespecialiseerd softwarebedrijf? Wil jij graag hybride werken (combi tussen thuis + kantoor), loop jij warm voor maatwerk software en voel jij je prettig in een informele cultuur? Zoek dan niet verder! Reageer direct! Voor een gewilde werkgever in omgeving Tilburg zoeken wij een back-end software developer met een aantal jaar werkervaring. Je gaat werken voor een klein softwarebedrijf dat gespecialiseerd is in de ontwikkeling van integratiesoftware. Jouw werkzaamheden zien er als volgt uit: In een klein team met 4 ontwikkelaars houd jij je bezig met afwisselende

Bekijk vacature »

OutSystems Developer

Dit ga je doen Het van scratch af aan ontwikkelen van applicaties met OutSystems; Het aanhaken bij diverse projecten binnen de organisatie; Schakelen met de business; Meedenken over de mogelijkheden van het platform binnen de organisatie. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen en optimaliseren van het huidige applicatielandschap. Zo staat de organisatie aan

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

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 »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

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 »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

C# Developer

Dit ga je doen Je gaat aan de slag in het websites team of portals team waarin je je bezighoudt met concept & design, implementatie en ook een stukje bugfixing en onderhoud; Je werkt met je team volgens de Scrum werkwijze; Zo adviseer je ook de PO & Scrum Master over de technische architectuur, koppelingen en integratie met externe systemen en API’s; Je blijft op de hoogte van de laatste ontwikkelingen en trends op het gebied van C# / .NET en deelt deze kennis binnen de organisatie. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

17/02/2014 19:48:03
Quote Anchor link
In navolging van mijn eerdere topic vandaag, ben ik tot de conclusie gekomen dat ik mijn vraag wellicht anders / breder moet stellen.

Stel ik wil een class Foo gebruiken:

$foo = new Foo();

Echter, om een of andere reden kan het bestand wat bij deze class hoort niet geladen worden (bijvoorbeeld omdat het niet bestaat). Kan ik de fout die hieruit volgt dan op de een of andere manier opvangen?
 
PHP hulp

PHP hulp

16/05/2024 21:27:32
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/02/2014 19:56:21
 
Ozzie PHP

Ozzie PHP

17/02/2014 20:08:32
Quote Anchor link
Ger, dankjewel. Wat voor error wordt er in zo'n situatie gegooid? Waar kan ik dat terugvinden?
 
Wouter J

Wouter J

17/02/2014 20:27:29
Quote Anchor link
In je script door het uit te voeren...
 
Ozzie PHP

Ozzie PHP

17/02/2014 20:32:55
Quote Anchor link
Oké, dan krijg ik een "PHP Fatal error". Hoe vang je die dan op?
 
Wouter J

Wouter J

17/02/2014 20:40:47
Quote Anchor link
"The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called."
Bron: http://www.php.net/manual/en/function.set-error-handler.php

ValueConstantDescription
1E_ERRORFatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted.
4E_PARSECompile-time parse errors. Parse errors should only be generated by the parser.
16E_CORE_ERRORFatal errors that occur during PHP's initial startup. This is like an E_ERROR, except it is generated by the core of PHP.
32E_CORE_WARNINGWarnings (non-fatal errors) that occur during PHP's initial startup. This is like an E_WARNING, except it is generated by the core of PHP.
64E_COMPILE_ERRORFatal compile-time errors. This is like an E_ERROR, except it is generated by the Zend Scripting Engine.
128E_COMPILE_WARNINGCompile-time warnings (non-fatal errors). This is like an E_WARNING, except it is generated by the Zend Scripting Engine.
2048E_STRICTEnable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code.

Bron: http://www.php.net/manual/en/errorfunc.constants.php

Gelukkig kunnen mensen altijd zo goed documentatie lezen...
Gewijzigd op 17/02/2014 20:43:35 door Wouter J
 
Ozzie PHP

Ozzie PHP

17/02/2014 20:45:46
Quote Anchor link
Rustig Wouter, relax... niet iedereen is zo technisch als jij. Niet gelijk zo cynisch worden. Is echt niet nodig.

Ik snap het eerlijk gezegd nog steeds niet. Ik dacht dat je een FATAL error niet kon opvangen? Maar kan dan dus wel???
 
Wouter J

Wouter J

17/02/2014 21:14:12
Quote Anchor link
"The following error types cannot be handled with a user defined function: E_ERROR"

"E_ERROR - Fatal run-time errors"

Hier is niks technisch aan... Gewoon domweg wat engels lezen en iets verder kijken en iets preciezer de doc lezen en iedereen kan hier makkelijk op komen.
 
Ozzie PHP

Ozzie PHP

17/02/2014 21:25:18
Quote Anchor link
Nee Wouter, verschillende mensen... verschillende interpretaties. Ik bedoel dit overigens niet lullig tegenover jou, maar jij bent veel technischer dan velen hier op het forum. Dat betekent dat je bepaalde dingen sneller doorziet en dat je sneller verbanden kunt leggen. Wees daar vooral blij om, en probeer andere mensen daarmee te helpen. Maar ga er niet vanuit dat andere mensen hetzelfde denken en kunnen als jij. Ieder mens heeft zijn/haar eigen kwaliteiten op diverse vlakken.

Dat gezegd hebbende... een PHP Fatal error is dus een run-time error? En die kan ik niet opvangen... dus anders gezegd, als er een object wordt aangemaakt dat niet vantevoren is geladen, klapt je applicatie er gewoon uit en daar is niks tegen te doen. Correct?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/02/2014 21:46:58
Quote Anchor link
Leuk hé PHP?
Even buiten code fouten, de ene keer een catchable error en dan andere keer niet (bv als je bij je database connectie een niet bestaande host opgeeft, kan je dat afvangen met try ... catch)
 
Ozzie PHP

Ozzie PHP

17/02/2014 21:51:33
Quote Anchor link
>> Leuk hé PHP?

Nou :-/

>> de ene keer een catchable error en dan andere keer niet

Ja, in dit geval dus niet... dus vraag ik me af hoe je daar mee om moet gaan. Wat als jij een class aanroept, en om een of andere reden is het class bestand verdwenen. Hoe ga je daar dan mee om? De autoloader een exception laten gooien als het bestand niet bestaat? Ik zie niet echt een andere mogelijkheid :-s
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/02/2014 22:17:15
Quote Anchor link
Niet zo :s(ip), dat hoort bij programeren
 
Ozzie PHP

Ozzie PHP

17/02/2014 22:23:41
Quote Anchor link
Jawel, dat snap ik ook wel. Maar het is niet altijd leuk. Ik probeer een oplossing te vinden, maar niemand kan me helpen, terwijl het toch een probleem zou moeten zijn waar iedereen mee te maken heeft :(
 
Mar cel

Mar cel

17/02/2014 22:33:06
 
Ozzie PHP

Ozzie PHP

17/02/2014 22:44:27
Quote Anchor link
Hmmm, dankjewel voor het meedenken Marcel, maar als ik het goed begrijp kun je de error daarmee niet herstellen. Dus stel dat ik een module wil laden en daar ontbreekt een file, dan kan ik de rest van de pagina niet laden.

Volgens mij is de enige optie om in de autoloader te controleren of het bestand bestaat, en zo niet, dan een exception gooien. Maar waarom reageert er niemand op dit idee? Weten jullie het antwoord ook niet?
 
Wouter J

Wouter J

17/02/2014 22:54:30
Quote Anchor link
In jouw autoloader een exception gooien, en die 3rd party autoloader dan? Heeft die niks meer te zeggen? Het is geen verhaal met 2 kanten: file exists -> class bestaat, file not exists -> class bestaat niet.

En ga eerst eens na of je hele idee wel klopt. Je wilt je applicatie verlaten gaan als er een klasse niet bestaat? Hoe dan? Stel je Container klasse bestaat niet meer, hoe wil de applicatie verder gaan? Hetzelfde geldt voor zowat elke andere klasse die je opvraagt, je vraagt ze namelijk op omdat je ze nodig hebt...
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/02/2014 22:54:34
Quote Anchor link
Volgens mij heb je antwoord zelf al gegeven.
Kortom: Je moet een fatal error voorkomen.
 
Ozzie PHP

Ozzie PHP

17/02/2014 23:20:59
Quote Anchor link
>> In jouw autoloader een exception gooien, en die 3rd party autoloader dan? Heeft die niks meer te zeggen?

Je kent toch namespaces toe aan je autoloader? Op het moment dat een class-naam tot die betreffende namespace behoort, maar het bestand kan niet worden gevonden. Waarom kun je dan geen exception gooien?

>> Stel je Container klasse bestaat niet meer, hoe wil de applicatie verder gaan?

Klopt, ik kan me voorstellen dat je stopt als je container class niet bestaat. Maar probeer het even anders te zien. Stel ik heb op een homepage ergens een blokje "laatste nieuws" staan. Nu kan een bepaalde class van die module niet geladen worden. Moet ik dan de hele website platgooien? Want dat is wat jij nu toch zegt?
 
D Vivendi

D Vivendi

19/02/2014 13:12:26
Quote Anchor link
Als ik het goed begrijp heb je een autoload class zodat je in je code simpelweg iets als dit kan doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$obj = new EenClass();


Je autoloader laadt die class dan voor je. Nu wil je weten hoe je de error kunt afvangen die je krijgt wanneer je autoloader de opgevraagde class niet kan vinden?

Je hebt daar een aantal opties voor. Je voorkeur hangt een beetje af van wat je precies wilt bereiken. Ik zou in elk geval niet aan "set_error_handler" sleutelen.

Dan is de enige manier om te checken of een class bestaat in je autoloader. Je zou bijvoorbeeld dit kunnen doen:

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
function __autoload($name) {
    if(class_exists($name)) {
        require_once($name);
    }
    else {
        throw new MissingException("Kan class $name niet vinden.");
    }
}

try {
    $obj = new EenClassDieNietBestaat();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}


Je zou bijvoorbeeld ook een soort "Error" object kunnen vullen ipv met exceptions te werken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
function __autoload($name) {
    if(class_exists($name)) {
        require_once($name);
    }
    else {
        Errors::Add ( "Kan class $name niet vinden." );
    }
}


Je kan dan bijvoorbeeld altijd nog de "Errors" class uitlezen in je views en daar de melding geven dat een module niet geladen kon worden. Of het wegschrijven naar een log file oid.


Denk alleen dat er wel meer problemen optreden wanneer een module niet gevonden wordt. Waarschijnlijk wordt kort daarna ook die class gebruikt om methods aan te roepen en properties uit te lezen. Maar ja, als er geen instance is gevonden krijgt je natuurlijk weer errors van: "Accessing property on non object" oid.

Dus bedenkt goed of je je applicatie wel echt door wilt laten gaan als een class niet gevonden kan worden. Vaak is dit niet zo'n handig idee.
Gewijzigd op 19/02/2014 13:13:26 door D Vivendi
 
Wouter J

Wouter J

19/02/2014 13:15:41
Quote Anchor link
Vivendi, het is beter om spl_autoload_register te gebruiken, aangezien die meerdere autoloaders chained.
 
D Vivendi

D Vivendi

19/02/2014 13:21:30
Quote Anchor link
Ja klopt, dat weet ik. Ik gebruikte __autoload meer als simpele illustratie. Maar inderdaad, de spl_autoload class hiervoor had misschien beter geweest om als voorbeeld te geven.
Gewijzigd op 19/02/2014 13:21:54 door D Vivendi
 

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.