[composer]autoloading psr-4

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SAP HANA Cloud Application Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12662 Introductie HANA Cloud Application Developer at a High Tech company. The company is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. This role is situated in the Big Data Analytics (BDA) Domain. The teams have mixture of young talent and senior specialists and have a

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

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

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Medior front-end developer gezocht (€3.300 -

Functie Wat ga je doen? Jij als front-end developer gaat werken binnen de teams van/voor onze klant. Je werkt in een team met starters en ervaren ontwikkelaars met allemaal 1 overeenkomst; passie voor het vak. Maak je een fout? Geen probleem, leer ervan en ga dan weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en jezelf dus snel ontwikkelen. Wat hebben we jou te bieden? • Uitdagende projecten bij mooie klanten (bij jou in de buurt, of binnenkort intern vanuit ons kantoor!) • Een jonge organisatie met talentvolle collega’s • Veel ruimte voor

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. 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. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Pagina: 1 2 volgende »

Reshad F

Reshad F

26/06/2014 14:19:35
Quote Anchor link
Hallo,

Ik probeer eigen classes d.m.v. composer te autoloaden. Hiervoor heb ik een directory genaamd app/custom/myclass.php in de class heb ik de volgende namespace

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
namespace custom;
?>


Nu heb ik in de composer.json het volgende

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    "autoload": {
        "psr-4": {
            "custom\\": "app/"
        }
    }


wanneer ik een composer.update uitvoer krijg ik helaas de melding dat de class niet bestaat. Wat doe ik hier fout?
 
PHP hulp

PHP hulp

16/02/2025 12:36:30
 
Ozzie PHP

Ozzie PHP

26/06/2014 14:21:28
Quote Anchor link
app/ moet zijn app/custom ??
 
Reshad F

Reshad F

26/06/2014 14:24:51
Quote Anchor link
@Ozzie nee helaas werkt dat ook niet. Volgens de composer manual kom ik er ook niet helemaal uit.. de custom is in dit geval volgens de handleiding al de directory waarnaar gezocht moet worden en deze bevind zich in app/ als ik het goed begrepen heb.
 
Ozzie PHP

Ozzie PHP

26/06/2014 14:28:40
Quote Anchor link
Ik werk niet met Composer dus hoe het exact werkt weet ik niet.

Probeer eens het hardcoded path in te geven vanaf de root, dus "path/to/app". En als dat niet werkt, kijk dan even in je error log. Als he goed is zou je daaruit moeten kunnen afleiden welk path er gebruikt wordt en dan kun je waarschijnlijk zien waar het misgaat.
 
Reshad F

Reshad F

26/06/2014 14:34:43
Quote Anchor link
De app/ zit al in de root dir. verder zit er niets anders in app/ dan die custom directory. Verder wordt ik ook van de error log niks wijzer.. daar krijg ik namelijk exact dezelfde error..
 
Ozzie PHP

Ozzie PHP

26/06/2014 14:35:14
Quote Anchor link
>> daar krijg ik namelijk exact dezelfde error

en die luidt?
 
Reshad F

Reshad F

26/06/2014 14:38:50
Quote Anchor link
Fatal error: Class 'app\custom\JsonFetcher' not found in /Users/username/Sites/demo/config/config.php on line 15

Daar wordt dus aangeroepen..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$app
['JsonFetcher'] = $app->share(function($app) {
    return new app\custom\JsonFetcher($app);
});

?>
 
Tim S

Tim S

26/06/2014 14:42:12
Quote Anchor link
path moet zo zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    "autoload": {
        "psr-4": {
            "custom\\": "app/custom"
        }
    }


en daarna moet je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
composer dump-autoload

uitvoeren, update is voor je packages bij te werken.


Ik zie nu dat je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
return new app\custom\JsonFetcher($app);

gebruikt, maar je definieerd je namespace als "custom" en niet "app\custom".
daarom moet je "app" weglaten uit je namespace, of toevoegen in je autoload statement in je composer file.
Gewijzigd op 26/06/2014 14:45:44 door Tim S
 
Reshad F

Reshad F

26/06/2014 14:55:17
Quote Anchor link
@Tim bedankt het werkt nu :) de edit kwam ik zelf ook al achter tijdens het veranderen.
 
Wouter J

Wouter J

26/06/2014 18:54:45
Quote Anchor link
Dit is dus juist geen PSR-4. In PSR-4 zet je je namespace niet meer in je mappen structuur. Dus al die mappen die alleen andere mappen bevatten (zoals app in dit geval) moeten weg. Dus de klassen van custom moeten direct in app/ en custom/ moet weg. Dan voer je in dat de custom namespace zich in de app map bevindt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
{
    "autoload": {
        "psr-4": {"custom\\": "app/"}
    }
}
 
Ozzie PHP

Ozzie PHP

26/06/2014 23:00:17
Quote Anchor link
Kan het niet zo zijn dat Reshad juist bewust onderscheid wil maken tussen z'n eigen "custom" classes, en tussen 3rd party libraries?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
app
   /custom
   /mail_lib
   /pdf_lib
 
Reshad F

Reshad F

26/06/2014 23:38:06
Quote Anchor link
Wouter dat had ik dus, maar dat werkte niet.. Hoe ziet mijn namespace etc er dan uit in dat geval?
 
Ozzie PHP

Ozzie PHP

27/06/2014 00:18:25
Quote Anchor link
Zoals in je 1e voorbeeld volgens mij en dan hier:

return new app\custom\JsonFetcher($app);

het begin "app\" weghalen.

Maar let wel, de class JsonFetcher moet dan dus direct in de map app worden geplaatst:

app/JsonFetcher.php
 
Tim S

Tim S

27/06/2014 00:34:07
Quote Anchor link
Je moet het zo zien... stel je wilt een namespace "Reshad\CustomPackage" gebruiken, dan kun je met psr-4 zorgen dat je die prefix vanuit welke map dan ook kunt gebruiken.
dus stel dit is je mappen-structuur:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
`-- app
|   `-- controller
|   |-- views
|-- CustomPackage
|   `-- src
|   |   `-- JsonFetcher.php
|   |-- tests
|   |   `-- JsonFetcherTest.php


En dit je classes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php namespace Reshad\CustomPackage;

class JsonFetcher {} ?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php namespace Reshad\CustomPackage;

class JsonFetcherTest {} ?>


dan zou je die zo kunnen autoloaden met psr-4:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
    "autoload": {
        "psr-4": {
            "Reshad\CustomPackage\\": "Custompackage/src",
            "Reshad\CustomPackage\\": "Custompackage/tests"
        }
    }
Gewijzigd op 27/06/2014 00:37:16 door Tim S
 
Reshad F

Reshad F

27/06/2014 00:34:11
Quote Anchor link
@ozzie maar dan kan ik dus niet ordenen? of krijgt elke category zijn eigen folder in de root dir?

Toevoeging op 27/06/2014 00:37:12:

@Tim stel ik zet de JSonFetcher dus direct in de app folder wat wordt daar dan de namespace? en de autoloader?
 
Ozzie PHP

Ozzie PHP

27/06/2014 00:39:39
Quote Anchor link
>> @ozzie maar dan kan ik dus niet ordenen?

Wat bedoel je met "ordenen"?

Tim S op 27/06/2014 00:34:07:
dan zou je die zo kunnen autoloaden met psr-4:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
    "autoload": {
        "psr-4": {
            "Reshad\CustomPackage\\": "Custompackage/src",
            "Reshad\CustomPackage\\": "Custompackage/tests"
        }
    }

Lijkt me niet echt efficiënt om dezelfde namespace naar 2 verschillende mappen te laten verwijzen eerlijk gezegd.

Toevoeging op 27/06/2014 00:40:59:

Reshad, ik zou eerst een directorystructuur maken, die jij zelf prettig en overzichtelijk vindt. Daarna zou ik me gaan bezighouden met het autoloaden. Je bent vrij om het te doen zoals je het zelf fijn vindt.
 
Tim S

Tim S

27/06/2014 00:43:40
Quote Anchor link
Ozzie PHP op 27/06/2014 00:39:39:
Lijkt me niet echt efficiënt om dezelfde namespace naar 2 verschillende mappen te laten verwijzen eerlijk gezegd.

Dit is juist de kracht van psr-4, zodat je je mappen kan indelen zoals je wilt.
Zonder dat je je hoeft te houden aan een bepaalde mappen stuctuur.
Anders kun je net zo goed psr-0 gebruiken.

---------


Ik ga er even vanuit dat je het zo wilt dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
`-- app
|   `-- JsonFetcher.php


Het maakt eigenlijk niet uit wat je namespace is, als je het ook maar goed in je JsonFetcher.php declareert.
Je zou nu dit kunnen hebben:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    "autoload": {
        "psr-4": {
            "custom\\": "app",
        }
    }

met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php namespace custom;

class JsonFetcher {}; ?>

maar je kan ook bijvoorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    "autoload": {
        "psr-4": {
            "app\\custom\\": "app"
        }
    }

met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php namespace app\custom;

class JsonFetcher {}; ?>


je bepaald dus eigenlijk gewoon welke namespace prefix gekoppeld moet worden aan welke map.
Gewijzigd op 27/06/2014 09:26:57 door Tim S
 
Reshad F

Reshad F

27/06/2014 00:47:38
Quote Anchor link
Ah oke dus de 'key' als het ware staat gelijk aan de namespace? en de value gelijk aan de directory?

Maar hoe zit dat dan wanneer ik meerdere subfolders heb? bepaal ik zelf tot waar de normale directory gaat en tot waar de subdirectory?
 
Ozzie PHP

Ozzie PHP

27/06/2014 00:49:28
Quote Anchor link
>> Dit is juist de kracht van psr-4, zodat je je mappen kan indelen zoals je wilt.
Zonder dat je je hoeft te houden aan een bepaalde mappen stuctuur.

Dat kan toch nog steeds? Het lijkt me handiger om dan een Test namespace te maken. Je koppelt nu 1 namespace aan 2 folders. Stel dat de classes 50/50 verdeeld zijn dan betekent het dat je in 50% van de gevallen een onnodige controle uitvoert.

Je kunt dan beter een aparte Reshad\Test namespace aanmaken die naar de test-map verwijst.

Toevoeging op 27/06/2014 00:54:24:

Reshad, je hebt verschillende type autoloaders die op een bepaalde manier autoloaden. PSR-0 en PSR-4 zijn de bekendste. Maar je kunt ook zelf een autloader maken.

Het principe is dat als een class nog niet geladen is (via require) de naam van die class naar de autoloader wordt gestuurd. Op basis van die naam, en op basis van de namespaces die jij hebt ingesteld, wordt de class geladen.

Heel simpel... even de basis-gedachte. Je hebt een class Foo(). Die zet jij in het mapje "Reshad". Vervolgens zeg je tegen de autoloader: stel de namespace Reshad in op het pad "Reshad".

Vervolgens doe jij:

$foo = new Reshad\Foo();

De autoloader ziet nu de namespace "Reshad". Aha! Bij deze namespace hoort de map "Reshad". Blijkbaar moet ik dus het bestand "Reshad/Foo.php" requiren.

Dat is de basis-gedachte van autoloading.
 
Tim S

Tim S

27/06/2014 01:05:58
Quote Anchor link
Reshad F op 27/06/2014 00:47:38:
Ah oke dus de 'key' als het ware staat gelijk aan de namespace? en de value gelijk aan de directory?

Maar hoe zit dat dan wanneer ik meerdere subfolders heb? bepaal ik zelf tot waar de normale directory gaat en tot waar de subdirectory?


Je kan je mappen nu gewoon verder uitbreiden, zolang je die classes die je wilt autoloaden correct blijft namespacen iig.

Bijv:
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
`--app
|  `-- Sub
|      `-- MeerSub
|          `-- BesteClassOoit.php

    "autoload": {
        "psr-4": {
            "Custom\\": "app",
        }
    }

<?php namespace Custom\Sub\MeerSub;

class BesteClassOoit {} ?>


Toevoeging op 27/06/2014 02:23:30:

Ozzie PHP op 27/06/2014 00:49:28:
Dat kan toch nog steeds? Het lijkt me handiger om dan een Test namespace te maken. Je koppelt nu 1 namespace aan 2 folders. Stel dat de classes 50/50 verdeeld zijn dan betekent het dat je in 50% van de gevallen een onnodige controle uitvoert.

Je kunt dan beter een aparte Reshad\Test namespace aanmaken die naar de test-map verwijst.


Ik bewaar liever mijn unit tests in een aparte map indien mogelijk.
En qua performance maakt het niks uit, zolang je maar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
composer dump-autoload -o

uitvoerd.

Overigens zou ik op deze manier in een production omgeving mijn tests nu makkelijk uit de autoloader kunnen halen. Wat weer een performance winst is ten opzichte van jouw manier.
Gewijzigd op 27/06/2014 02:25:15 door Tim S
 
Ward van der Put
Moderator

Ward van der Put

27/06/2014 09:19:15
Quote Anchor link
Tim S op 27/06/2014 00:43:40:
Dit is juist de kracht van psr-4, zodat je je mappen kan indelen zoals je wilt.
Was dat maar waar. PSR-4 schrijft juist heel expliciet een directorystructuur voor. Met de highlights in vet:

[...] This PSR also describes where to place files that will be autoloaded according to the specification.

3. When loading a file that corresponds to a fully qualified class name ...

i. A contiguous series of one or more leading namespace and sub-namespace names, not including the leading namespace separator, in the fully qualified class name (a "namespace prefix") corresponds to at least one "base directory".

ii. The contiguous sub-namespace names after the "namespace prefix" correspond to a subdirectory within a "base directory", in which the namespace separators represent directory separators. The subdirectory name MUST match the case of the sub-namespace names.

iii. The terminating class name corresponds to a file name ending in .php. The file name MUST match the case of the terminating class name.

Met andere woorden: basisdirectory, subdirectory én bestandsnaam liggen in PSR-4 alle drie vast.
 

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.