[composer]autoloading psr-4

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

SQL beheerder / ontwikkelaar

Functie omschrijving Voor een klant in omgeving Tiel zijn wij op zoek naar een SQL beheerder met affiniteit met technisch applicatiebeheer. Je krijgt een fijne in-house werkplek waar je gaat werken aan diverse projecten. Dit bedrijf doet het beheer van databases voor een aantal bancaire klanten. Op dit momenten hebben zij ruim 1500 databases in beheer. Jouw werkzaamheden gaan er als volgt uit zien: Je gaat de development afdeling ondersteunen bij het ontwikkelen van MS SQL Scripts. Je zal zowel zelfstandig als in teamverband MS SQL databases installeren & beheren. Je monitort en onderzoekt incidenten en de achterliggende oorzaken. Je

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Senior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Front-end 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. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

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 »

Applicatieontwikkelaar ABAP

Bedrijfsomschrijving Functieomschrijving De kandidaat zal worden ingezet binnen een van de DevOps teams binnen SCI (Service Centrum Inburgering) voor het ontwerpen en bouwen in SAP ABAP van de binnen SCI gebruikte informatiesystemen. Voornaamste voorkomende werkzaamheden zijn het aanpassen van en bouwen van nieuwe programmatuur in ABAP (Objects), waarbij ook gebruikt wordt gemaakt van DDD (Domain Driven Design) en het opstellen/aanpassen van Functionele/Technische ontwerpen. Daarnaast moeten ook formulieren met SAP Smartforms worden aangepast. Verder speelt de overgang naar SAP4Hana en SAP CPI. Vanwege het veelvuldig gebruik van SAP PO is kennis hiervan een pré. Achtergrond opdracht Momenteel werken meerdere DevOps teams

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

Bekijk vacature »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

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

26/05/2026 15:20:11
 
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.