[oop] niet bestaande class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. 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, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

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 »

Functioneel applicatiebeheerder - SOP-SYS-SAM

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 Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

PHP developer (Laravel, Docker, Gitlab-CI)

Functie Het IT-team bestaat momenteel uit 4 ontwikkelaars. Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. Een groot deel van de systemen is gebouwd met behulp van het Laravel framework en PHP (minimaal 7.2), Docker voor lokaab gebruik en Gitlab-CI voor het deployen

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

Medior/senior PHP ontwikkelaar E-commerce

Functie Het software development team bestaat momenteel 5 scrum teams . Ieder team heeft een eigen SCRUM Master en eigen tester. Zij werken voornamelijk in PHP en met hun eigen geschreven framework wat Symfony based is . Jij bent samen met je collega’s verantwoordelijk voor het interne softwaresysteem en alle projecten die daar omheen lopen. Alles wat jij ontwikkelt, wordt direct toegepast en uitgerold (wereldwijd). Dit maakt jouw werk tastbaar en uitdagend! Een greep uit jouw werkzaamheden: Toevoegen en ontwikkelen van nieuwe functionaliteiten Logistieke software ontwikkelen voor intern gebruik Tientallen gigabytes aan data inzichtelijk maken Altijd op zoek gaan naar

Bekijk vacature »

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

High level C++ QT Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13486 Introductie Would you like to be involved in every aspect of software development for our exceptional products, from specification and design to testing and integration? If you're passionate about software development and eager to apply your programming skills to create customer-focused deliverables, then this is the perfect chance for you to expand your expertise. You can become a member of our Machine Control department's data-driven development team, where you'll design and build software solutions that optimize machine productivity. As a senior software design engineer, you'll participate in all phases

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

12/05/2025 14:48:00
 
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.