require gedrag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.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 »

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 »

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 »

PHP Developer

Dit ga je doen Je werkt nauw samen met het websitebureau aan de ontwikkeling en optimalisering van het internationale platform; Je ziet nieuwe webshops op en voert optimalisaties door; Je bouwt aan technische, functioneel en commercial resultaat; Je vindt het leuk om zelfstandig binnen een internationale organisatie te werken, maar krijgt ook energie om samen met collega's te werken. Hier ga je werken Voor een bedrijf in de regio Rotterdam zijn wij opzoek naar een PHP Developer. Je wordt onderdeel van het communicatieteam en gaat je bezighouden met het optimaliseren van de website van dit internationale bedrijf. Je schakelt veel

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 »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

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 »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Core developer wordt jij onderdeel van ons team met drie breed ontwikkelde software engineers en een flexibele schil met zes ervaren freelancers. Jij gaat mee in de visie van onze organisatie om als IoT partner in deze branche specifieke markt “het” platform te blijven innoveren en deze ook steeds slimmer te maken. Wij hopen dan ook zeker dit in de toekomst te kunnen realiseren met bijvoorbeeld Artificial Intelligence. De architectuur van ons platform is opgemaakt uit een deel eigen protocol, een interface laag en een laag welke de protocollen van derde partijen vertaald naar het eigen

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

Junior Front end developer

Functie Jij als developer gaat ons helpen onze producten verder te ontwikkelen en in te zetten in de markt. Op dit moment bestaat ons SaaS product uit 3 componenten die zowel los als in een pakket gekocht kunnen worden. Het gaat hier om een online kaartapplicatie, een workflow tool en een monitoring tool. Momenteel zijn wij 3 jaar geleden gestart met de ontwikkeling. De tech-stack waarmee we werken is voornamelijk Javascript, Vue.js en Python. Daarnaast gebruiken wij FaundaDB als database en werken we veel met GIS applicaties. De uitdaging die we momenteel hebben is dat we momenteel een intern team

Bekijk vacature »

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »

.NET Developer

Functie omschrijving Net afgestudeerd en op zoek naar een leuke baan als developer? Zoek niet verder! Ik heb een functie beschikbaar als back-end developer, bij een leuk familiebedrijf. Je gaat werken met de Microsoft stack en de technieken C# en .NET. Verder maak je gebruik van MVC en Entity framework. SQL kent ook geen geheimen voor jou. Jouw verantwoordelijkheden: Nieuwe maatwerk software bouwen; API koppelingen bouwen; Applicaties en software optimaliseren; Back-end programmeren. Een erg uitdagende functie, met veel vrijheid. Je kan meerdere dagen thuis werken en als je op kantoor werkt wordt de lunch verzorgd. Heb je interesse, reageer dan

Bekijk vacature »

C# ontwikkelaar

Functie omschrijving Werk jij graag met C# en het .NET framework in een leuk familiebedrijf? Lees dan snel verder! Jouw takenpakket hierbij is: Je gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Je gaat werken in een Microsoft omgeving (ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Daarnaast optimaliseer je de bestaande software. Bedrijfsprofiel Deze organisatie is gevestigd in de omgeving van Best en is een echt familiebedrijf. Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met

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

21/11/2024 15:42:14
 
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.