[composer]autoloading psr-4

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

Senior Front end developer

Functie Wij zijn op zoek naar een ambitieuze, zelfsturende Front-end Expert die ons (internationale) team komt versterken. Onze huidige software development afdeling bestaat uit 7 developers en designers. Wij zijn een écht softwarehuis, dus ervaring in software development is wel echt een must. Er wordt tegelijkertijd aan meerdere projecten gewerkt, voor mooie toonaangevende klanten. Je hebt dus regelmatig te maken met deadlines en opleveringen. Een deel van onze omgeving is in Angular.JS. Dit deel wordt langzamerhand omgebouwd naar de nieuwste versie van Angular. Jouw werkzaamheden zullen bestaan uit: Het aansturen en begeleiden van jouw collega’s Het implementeren van visuele elementen

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

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 »

Ervaren PHP Software Developer

Functieomschrijving Voor een toffe opdrachtgever in regio Breda zijn wij op zoek naar een medior PHP Developer met affiniteit met Laravel. Je komt te werken bij een uitdagende opdrachtgever met supergave klanten in een specifieke branche. Als PHP ontwikkelaar ben je samen met een vooruitstrevende team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het vernieuwen van informatiesystemen voor een specifieke branche. Je ondersteunt complexe uitdagingen van klanten. Vervolgens breng je hun wensen in kaart en vertaalt deze door naar maatwerk software. Affiniteit met Laravel is een pré. Om de klanten zo goed mogelijk te ondersteunen en snel in

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »

(Lead) PHP Software Developer

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een PHP software developer met een aantal jaar werkervaring. Je krijgt een plek in een klein team met 2 andere software developers. Wil jij graag werken met de nieuwste technieken bij een bedrijf waar jij de lead gaat nemen in de verder ontwikkeling en modernisering van een eigen software pakket? Dan ben je hier aan het juiste adres! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "in-house" ontwikkelde multimedia platform. Je neemt de lead in

Bekijk vacature »

Front end developer binnen de consultancy

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

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

07/05/2024 18:01:57
 
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.