• Namespace is formatted as <vendor>/<package>/<namespace>/<classname> • Acme/Foo/Bar/MyClass will exist as a class in file: Acme/Foo/Bar/MyClass.php • Composer does this. • Problem: Composer will put Acme’s Foo Project in /vendor/acme/foo/ resulting in the following directory nesting: /vendor/acme/foo/acme/foo/bar/myclass.php
where to have brackets, spaces etc. • Spaces vs Tabs • Called a guide, not a standard • Not really for interop, just continuity and allows many libs to not have to create their own. • CS Fixers
& share API Generators (phpDocumenter etc.) Docbloc Example: /** * Get user id from username * * @param string $username User’s Name * @return int Users’ Id */