Hi Joas, could we get this written down into the documentation? That would be nice ;)
Morris > Am 03.05.2016 um 10:36 schrieb Joas Schilling <nickverges...@owncloud.com>: > > Right, I knew I would forget this. > > We register 2 PSR-4 roots for each app: > 1. OCA\MyApp for apps/myapp/lib/ > 2. OCA\MyApp\Tests for apps/myapp/tests/ > > the 2nd root is only registered when the PHPUNIT_RUN constant is defined: > https://github.com/owncloud/announcementcenter/blob/3a75e64e2664753eee3d0500ed4da541ef995004/tests/bootstrap.php#L22-L24 > > This prevents test code from being loaded/executed and doing harm on live > instances, since they > are only ever loaded when running tests. > > What I also forgot to mention was, that the old autoloading is still in place, > so 9.0 apps will continue working for a while longer ;) > > cheers nickvergessen > > Am 03.05.2016 um 10:29 schrieb Vincent Petry: >> Does it also affect test classes in some way ? (the ones stored under >> MyApp/test) >> >> Cheers, >> >> Vincent >> >> On 03.05.2016 10:23, Joas Schilling wrote: >> >>> Hi there, >>> >>> today we merged a PR that also allows apps to use PSR-4 compatible >>> autoloading standard. >>> If you don't know what PSR-4 is, it means that files and folders have >>> the exact same name >>> and casing, the class or namespace has. >>> >>> Let me give you an example: >>> * ownCloud <9.1: OCA\MyApp\Namespace\ClassName used to lie in >>> apps/myapp/namespace/classname.php or >>> apps/myapp/lib/namespace/classname.php >>> * PSR-4: OCA\MyApp\Namespace\ClassName lies in >>> apps/myapp/lib/Namespace/ClassName.php >>> >>> By default ownCloud just uppercases the first character of your app ID >>> to guess the namespace. >>> If that is not your namespace (e.g. because you use MyApp instead of >>> Myapp), you can specify that in your info.xml: >>> >>> https://github.com/owncloud/announcementcenter/blob/3a75e64e2664753eee3d0500ed4da541ef995004/appinfo/info.xml#L9 >>> >>> >>> >>> You should only put namespaced classes into the lib/ folder. Any >>> non-class code should remain outside >>> of that directory. E.g. app.php, update.php, install.php, route.php >>> from the appinfo/ folder can stay there >>> >>> https://github.com/owncloud/announcementcenter/tree/3a75e64e2664753eee3d0500ed4da541ef995004/appinfo >>> >>> >>> while all classes are moved to lib/ using camelcases >>> >>> https://github.com/owncloud/announcementcenter/tree/3a75e64e2664753eee3d0500ed4da541ef995004/lib >>> >>> >>> >>> The biggest advantage of the PSR-4 change are: >>> * we can stop maintaining our own code for loading files >>> * we can use speed improvements from composers autoloading by >>> compiling a list of classes on release >>> * we follow a standard and make it easier for people to get in >>> >>> cheers nickvergessen >>> >>> Am 02.05.2016 um 07:57 schrieb Roeland Douma: >>> >>>> Howdy! >>>> >>>> We are slowly moving the classes in core to the PSR-4 [1] naming >>>> standard. >>>> This allows for easier lookup and using the well known composer >>>> autoloader. >>>> >>>> At the moment we do not yet support PSR-4 in our apps. But we are >>>> thinking about >>>> how to do this. Of course we will still support the current >>>> autoloader as well. >>>> >>>> There should not be any breakage for app developers. As long as you >>>> spell the namespaces >>>> and classes correct :) >>>> >>>> Cheers, >>>> --Roeland >>>> >>>> >>>> [1] >>>> http://www.php-fig.org/psr/psr-4/ >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Devel mailing list >>>> >>>> Devel@owncloud.org >>>> http://mailman.owncloud.org/mailman/listinfo/devel >>> >>> >>> >>> _______________________________________________ >>> Devel mailing list >>> >>> Devel@owncloud.org >>> http://mailman.owncloud.org/mailman/listinfo/devel >> >> >> >> _______________________________________________ >> Devel mailing list >> >> Devel@owncloud.org >> http://mailman.owncloud.org/mailman/listinfo/devel > > _______________________________________________ > Devel mailing list > Devel@owncloud.org > http://mailman.owncloud.org/mailman/listinfo/devel -- ownCloud GmbH - owncloud.com Your Data, Your Cloud, Your Way! ownCloud GmbH, GF: Markus Rex, Holger Dyroff, Frank Karlitschek Schloßäckerstrasse 26a, 90443 Nürnberg, HRB 28050 (AG Nürnberg) _______________________________________________ Devel mailing list Devel@owncloud.org http://mailman.owncloud.org/mailman/listinfo/devel