Composer PSR-4 Example
When attempting to learn how to use namespaces in PHP combined with Composer's PSR-4 autoloading spec, I couldn't find a solid working example. I understood the theory of autoloading, I understood why Namespaces were good - I just wanted a working template so I could start coding.
Well, I couldn't find one, so I'm making one.
Install the dependencies (currently only phpunit)
$ php composer.phar install
Run the unit test to verify everything works correctly
~$ ./vendor/bin/phpunit tests/
You should see the following output
PHPUnit 4.8.16 by Sebastian Bergmann and contributors. . Time: 41 ms, Memory: 3.75Mb OK (1 test, 1 assertion)
How to use namespaces with Composer
Suppose you want to create a namespace named
MyNameSpaceto a base directory via the composer.json file
- Within the base directory for the namespace, create a php file named
MyClass.php, declare the namespace
MyClass.php, ensure the class
MyClasshas been defined, and that it matches the php file name exactly
- Files that wish to use
MyClasscan now access it via
Any time you update composer.json with new namespace information, you must run an update.
$ php composer.phar update