{"action":"created","issue":{"url":"https://api.github.com/repos/composer/composer/issues/1428","labels_url":"https://api.github.com/repos/composer/composer/issues/1428/labels{/name}","comments_url":"https://api.github.com/repos/composer/composer/issues/1428/comments","events_url":"https://api.github.com/repos/composer/composer/issues/1428/events","html_url":"https://github.com/composer/composer/issues/1428","id":9360511,"number":1428,"title":"\"vendor\" folder structure","user":{"login":"e-oz","id":526352,"avatar_url":"https://avatars.githubusercontent.com/u/526352?v=3","gravatar_id":"","url":"https://api.github.com/users/e-oz","html_url":"https://github.com/e-oz","followers_url":"https://api.github.com/users/e-oz/followers","following_url":"https://api.github.com/users/e-oz/following{/other_user}","gists_url":"https://api.github.com/users/e-oz/gists{/gist_id}","starred_url":"https://api.github.com/users/e-oz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/e-oz/subscriptions","organizations_url":"https://api.github.com/users/e-oz/orgs","repos_url":"https://api.github.com/users/e-oz/repos","events_url":"https://api.github.com/users/e-oz/events{/privacy}","received_events_url":"https://api.github.com/users/e-oz/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2012-12-18T08:35:52Z","updated_at":"2015-11-11T22:28:44Z","closed_at":"2012-12-18T08:53:23Z","body":"Hello.\r\nIn [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md) standard, classes should be placed in a \"\\<Vendor Name>\\(<Namespace>\\)\" folder.  \r\nExample from docs:\r\n`\\Symfony\\Core\\Request => /path/to/project/lib/vendor/Symfony/Core/Request.php` \r\nSo, by this rule, [Twig_Compiler.php](https://github.com/fabpot/Twig/blob/master/lib/Twig/Compiler.php) should be in `vendor/Twig/Compiler.php`, so any PSR-0 autoloader will be able to find this class.\r\nBut after `composer install` I see structure `vendor/twig/twig/lib/Twig/Compiler.php` and I can use only mapping of namespaces in autoloaders, so PSR-0 actually is not used for autoloading.\r\n\r\nExcuse me, if it is described already in documentation. Please, let me know, if it is configurable somehow in composer.json."},"comment":{"url":"https://api.github.com/repos/composer/composer/issues/comments/155929614","html_url":"https://github.com/composer/composer/issues/1428#issuecomment-155929614","issue_url":"https://api.github.com/repos/composer/composer/issues/1428","id":155929614,"user":{"login":"jslegers","id":883647,"avatar_url":"https://avatars.githubusercontent.com/u/883647?v=3","gravatar_id":"","url":"https://api.github.com/users/jslegers","html_url":"https://github.com/jslegers","followers_url":"https://api.github.com/users/jslegers/followers","following_url":"https://api.github.com/users/jslegers/following{/other_user}","gists_url":"https://api.github.com/users/jslegers/gists{/gist_id}","starred_url":"https://api.github.com/users/jslegers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jslegers/subscriptions","organizations_url":"https://api.github.com/users/jslegers/orgs","repos_url":"https://api.github.com/users/jslegers/repos","events_url":"https://api.github.com/users/jslegers/events{/privacy}","received_events_url":"https://api.github.com/users/jslegers/received_events","type":"User","site_admin":false},"created_at":"2015-11-11T22:28:44Z","updated_at":"2015-11-11T22:28:44Z","body":"@e-oz\r\n\r\n> Currently composer not only doesn't promote updating to PSR-0 for old projects, but even allows new project to spread chaos in their structures. Example: new AWS PHP SDK has \"functions.php\" file. We should require it by the special line. They can do it, they can return to dark middle age of \"functions.php\" because Composer hides this ugliness and nobody cares.\r\n\r\nThe blame is mostly on @philsturgeon... as well as other members of @php-fig.\r\nIt's they who're setting the standards for the the rest of us, telling us what we should and shouldn't do!"}}