require gedrag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Medior Java developer

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 »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

.NET Developer Shared Driving

Bedrijfsomschrijving Onze klant richt zich op het toegankelijker maken van steden, een fantastisch mooi streven. Hoe ze dat doen? Met eigen ontwikkelde software, waarmee vervoersmiddelen gedeeld kunnen worden. Deze inspirerende werkgever maakt een maatschappelijke impact en dat doen ze nu al zo'n 25 jaar! Het bedrijf is gevestigd in het centrum van Rotterdam en kent ongeveer zo'n 90 medewerkers. Het personeel is lekker gewoon gebleven! Iedereen kleedt zich zoals hij of zij dat zou willen en de sfeer is er erg fijn. Een leuke werkgever om voor te werken, en bovendien zijn er voor jou als Software Developer veel mooie

Bekijk vacature »

Lead Front-end developer

Functie Hun huidige applicatie worden ontwikkeld in o.a. React, Redux, TypeScript. Ze werken graag met de nieuwste technieken en tooling en zoeken ook developers die hier proactief op zoek naar gaan. Als senior/lead developer ben je een kartrekker in het team. Naast het meedenken over bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Zo kun je bijvoorbeeld 1 dag in de week met 2 collega’s bezig zijn om samen met hen te kijken naar hun ontwikkeling, doelstellingen en uiteraard de gewenste begeleiding hierin. Hiernaast sta je als

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Medior/Senior Python developer (Django)

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 werken ze met pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Er is een kwaliteitsfocus en dan biedt ruimte om verbeteringen echt door te voeren binnen de gehele

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game 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 en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »
Eelco Alosery

Eelco Alosery

25/03/2012 22:37:14
Quote Anchor link
Hallo,

Ik heb diverse child classes in diverse files
Ook heb ik diverse parrent classes ook in diverse files

Als ik nu dus bv een file require, met een class die gebruik maat van een parrent class, maar die file met die parrent class is nog nog niet toegevoegd middels een require, dan krijg ik gelijk toch al een error.

Ik vind dit vreemd omdat ik van die child class nog helemaal geen instantie van heb aangemaakt.

Wie kan mij dit gedrag een beetje uitleggen opdat ik dit kan begrijpen waarom ik dus toch die error krijg ondanks dat er geen instantie van de child class is aangemaakt nog.

Alvast bedankt.
 
PHP hulp

PHP hulp

30/04/2024 15:09:59
 
Roel -

Roel -

25/03/2012 22:56:31
Quote Anchor link
Omdat de parser er wel al langs gaat, en hij kan de parent niet vinden.
Daarom krijg je een warning of een fatal error.
 
Eelco Alosery

Eelco Alosery

25/03/2012 23:05:48
Quote Anchor link
Beste Roel,

Bedankt voor je bericht.

Ok, dus er word een soort van voorcontrole gedaan?
Vind ik wel jammer, want ik krijg zo dus een fout terwijl als ik op een later moment de parrent class nog wel require, voordat ik dus wel een instantie aanmaak van de child class het dus goed zou kunnen werken.
Eigenlik zou ik dus een fout verwachten als ik de child class ga instantieren, en als de parrent clas dan niet gevonden zou worden.

Nu moet ik dus zorgen dat alle parrent classes dus echt eerst geladen worden voordat ik een class require die een parrent class extend.

Iets om dus rekening mee te houden :-)
 
Wouter J

Wouter J

25/03/2012 23:10:57
Quote Anchor link
Ik raad je aan eens naar een spl_register_autoloader te kijken, of naar de magic __autoload() functie in PHP. Hiermee kun je een functie opzetten die, mocht de klasse nog niet gerequired zijn, de klasse alsnog required.
 
Eelco Alosery

Eelco Alosery

25/03/2012 23:24:47
Quote Anchor link
Hallo Wouter,

Ik werk volledig ook met namespaces, en hiermee is het mij niet gelukt een goed werkende autoload functie te kunnen opzetten.

Ik heb dus uiteindelijk maar besloten om alles wat ik nodig heb gewoon echt via require in te laden.
Ik gebruik ook geen require_once omdat ik exact weet waar ik wat nodig heb, en dan ook de juiste classes require die nodig zijn.
 
Wouter J

Wouter J

25/03/2012 23:29:11
Quote Anchor link
Ik werk ook volledig met namespaces, en dan lukt het perfect. Zorg dat je namespaces en de locatie van de klasse zich houden aan de PSR-0 standaards en je kunt het mooi gebruiken, je krijgt er zelfs een functie die perfect werkt.

Nu is dat alleen een losse functie, maar Symfony Project heeft er een ClassLoader component voor die je zo kan gebruiken: http://symfony.com/doc/current/components/class_loader.html

En ook ik heb ooit eens een ClassLoader gemaakt, gebaseerd op die van symfony: https://github.com/WouterJ/snakeMvc/tree/master/lib/snakeMvc/Loader
 
Eelco Alosery

Eelco Alosery

25/03/2012 23:40:18
Quote Anchor link
mmm ok, misschien dat ik er dan toch nog eens en keer in moet verdiepen.
Want een autoloader is nog steeds wel gewenst. omdat ik dan niet zelf via reqiures alle files moet inserten.



Toevoeging op 25/03/2012 23:51:19:

Ik ben alleen bang dat het gebruik van usings dan wel teniet word gedaan, en dat ik dus altijd de volledige namespace moet gebruiken als ik een class wil instansieren.

Dus als ik bv dit gebruik in een totaal andere namespace:

use WebFrameWork\DomainLayer\UiTemplates\BaseTemplates\BasePage;
$basePage = new BasePage();

Hoe gebruik ik dit dan middels een autoloader?
Volgens mij was dit ook waar ik destijds tegen aanliep, en het maar had opgegeven toen :-)
 
Wouter J

Wouter J

26/03/2012 17:10:35
Quote Anchor link
Die worden gewoon meegegeven:
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
17
18
19
20
21
<?php
class ClassLoader
{
  public static function register()
  {

    spl_autoload_register(array(__CLASS__, 'loadClass'));
  }

  // 1 van onze autoloaders
  public static function loadClass( $className )
  {

    echo $className; // even voor debuggen
  }
}


ClassLoader::register();

use WebFrameWork\DomainLayer\UiTemplates\BaseTemplates\BasePage;
$basePage = new BasePage();
// ClassLoader::loadClass() echo:
// "WebFrameWork\DomainLayer\UiTemplates\BaseTemplates\BasePage"

?>

De namespaces worden dus gewoon meegegeven. Als je hier vervolgens de PSR-0 functie aankoppelt heb je eigenlijk al je eigen simpele classloader:
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
class ClassLoader
{
  // register method

  public static function loadClass( $className )
  {

    $path = self::getFilePath($className);
    if( file_exists($path) )
      require_once $path;
    else
      throw new LogicException(sprintf('Class %s does not exists in %s', $classame, $path));
  }

  public static function getFilePath( $className )
  {

    $className = ltrim($className, '\\');
    $fileName  = '';
    $namespace = '';
    if ($lastNsPos = strripos($className, '\\')) {
        $namespace = substr($className, 0, $lastNsPos);
        $className = substr($className, $lastNsPos + 1);
        $fileName  = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
    }

    $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';

    return $fileName;
  }
}


use WebFrameWork\DomainLayer\UiTemplates\BaseTemplates\BasePage;
$basePage = new BasePage();
// ClassLoader::loadClass() require_once:
// %path%/WebFrameWork/DomainLayer/UiTemplates/BaseTemplates/BasePage.php

?>


De classloaders van Symfony en die van mij zijn dan nog uitgebouwd met registered namespaces, prefixes en basepaths.
 
Eelco Alosery

Eelco Alosery

26/03/2012 18:22:59
Quote Anchor link
ok, cool.

Ik zal dit dan vanavond gelijk even verder proberen, want ik kanteer wel ook die PSR-0 opbouw.

bedankt.

Toevoeging op 26/03/2012 21:46:58:

Tsjonge wat heb ik en spijt deze vraag niet eerder gesteld te hebben.
Ik heb het nu inderdaad werkend.

Je hoeft zelfs niet eens require_once te gebruiken, maar je kan gewoon require gebruiken
spl_autoload_register lijkt zelf al te herkennen of een class al is gedistantieerd en doet dan niet alsnog de file inserten.

Ik gebruik nu deze class voor mijn autoload functionaliteit, met grote dank aan Wouter.

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
namespace WebFrameWork
{
    defined("SCRIPT_EXEC_PERM") or die ("HTTP/1.0 401 Unauthorized");

    class AutoLoader
    {
        /**
         * @var string
         */

        private $_basePath;

        /**
         * @param $basePath
         */

        public function __construct($basePath)
        {

            $this->_basePath = $basePath;

            spl_autoload_register(array(__CLASS__, 'AutoLoadClasses'));
        }


        public function __destruct()
        {

            unset($this);
        }


        /**
         * @param $className
         */

        private function AutoLoadClasses($className)
        {

            $path = $this->GetFullFilePath($this->_basePath ."/". $className);

            if( file_exists($path) )
            {

                require($path);
            }

            else
            {
                die (sprintf('Class %s does not exists in %s', $className, $path));
            }
        }


        /**
         * @param $className
         * @return string
         */

        private function GetFullFilePath($className)
        {

            $className = ltrim($className, '\\');
            $fileName  = '';
            $namespace = '';
            if ($lastNsPos = strripos($className, '\\'))
            {

                $namespace = substr($className, 0, $lastNsPos);
                $className = substr($className, $lastNsPos + 1);
                $fileName  = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
            }


            $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';

            return $fileName;
        }
    }
}

?>


Toevoeging op 26/03/2012 21:55:48:

Ik weet nu ook wel weer dat ik het vroeger met de gewone autoload heb geprobeerd en niet met deze spl_autoload_register.

Ben erg blij dit nu ook voor elkaar te hebben, dit schoont de code mooi op ook van alle handmatige require's
Gewijzigd op 26/03/2012 21:49:10 door Eelco Alosery
 



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.