On Fri, Mar 20, 2015 at 12:51 PM, Bryan Davis <[email protected]> wrote:
> The color I have picked for this namespace bikeshed > is MediaWiki\Core\Logger That means you need to map MediaWiki\Core to includes or includes/Core. Given that we have a mediawiki/core repo containing a bunch of classes which are not going to be in that directory (maintenance scripts, i18n), that's a bit confusing. Also, what non-core subnamespaces do you expect? I imagine all extensions would go under MediaWiki\Extension, which would make the top-level namespace a bit underused. The MediaWiki root namespace is a pretty obvious choice. Just to play devil's advocate, we could also use a vendor schema (Wikimedia\MediaWiki\...). That looks uglier but is better at preventing conflicts as each vendor has its own subspace. PSR-0 actually required this, but PSR-3 backed out of it. I'd be fine with throwing Debug in between Core and Logger too if consensus found for that instead. > Logger is fine IMO, it's the other log class that should eventually get a more descriptive name. > I was thinking an includes/Core/ directory could be used as the common base for these and future namespaced classes in MediaWiki core. > If we intend to put all MediaWiki core classes under the Core namespace, then the two-level directory structure seems a bit silly; MediaWiki\Core should just map to a top-level directory. That can't be includes, because not all OS-es have case-sensitive directory names and we don't want to tiptoe around old directory names when choosing namespaces. Also we probably want to enforce stronger code conventions for the new classes (such as PSR-3 conformance) and automating that is easier when everything in the same directory needs the same rules. So how about /src/Logger? That's a fairly standard structure while "includes" has that nineties flavor where you had your controllers in the apache docroot and the rest of your classes were manually included from somewhere else... _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
