On Sun, May 29, 2016 at 2:20 AM, Stas Malyshev <[email protected]> wrote:
> > According to PSR-4 <http://www.php-fig.org/psr/psr-4/> > > > > The fully qualified class name MUST have a top-level namespace name, > > also known as a "vendor namespace". > > Does this imply all classes in our code base must start with \Mediawiki? > If so, I don't think this is a very good idea. It looks like current usage of namespaces in core disagrees with you. /usr/local/src/MediaWiki/core$ grep '^namespace ' -hr includes/ languages/ resources/ maintenance/ mw-config/ | sort -u namespace MediaWiki; namespace MediaWiki\Auth; namespace MediaWiki\Diff; namespace MediaWiki\Interwiki; namespace MediaWiki\Languages\Data; namespace MediaWiki\Linker; namespace MediaWiki\Logger; namespace MediaWiki\Logger\Monolog; namespace MediaWiki\Services; namespace MediaWiki\Session; namespace MediaWiki\Site; namespace MediaWiki\Tidy; namespace MediaWiki\Widget; Deployed extensions seem to generally use the extension's name as the root of the namespace, though. The exceptions are OAuth and Babel. /usr/local/src/MediaWiki/wmf$ grep '^namespace .*;$' -hr extensions/ skins/ --exclude-dir=vendor --exclude-dir=tests | sed 's/\\.*;$/\\*;/' | sort -u namespace ArticlePlaceholder; namespace ArticlePlaceholder\*; namespace Capiunto; namespace Cards; namespace CirrusSearch; namespace CirrusSearch\*; namespace CommonsMetadata; namespace ContentTranslation; namespace DataValues; namespace EducationProgram; namespace EducationProgram\*; namespace Flow; namespace Flow\*; namespace FundraisingTranslateWorkflow; namespace GeoData; namespace GettingStarted; namespace Graph; namespace GWToolset; namespace GWToolset\*; namespace JsonConfig; namespace Kartographer; namespace Kartographer\*; namespace LocalisationUpdate; namespace MediaWiki\*; namespace MobileFrontend; namespace ORES; namespace PageImages\*; namespace Php; namespace ProofreadPage; namespace ProofreadPage\*; namespace PropertySuggester; namespace PropertySuggester\*; namespace QuickSurveys; namespace RelatedArticles; namespace TextExtracts; namespace Wikibase; namespace Wikibase\*; namespace WikibaseQuality\*; namespace Wikidata; namespace WikidataOrg; namespace WikimediaBadges; namespace ZeroBanner; namespace ZeroPortal; /usr/local/src/MediaWiki/wmf$ grep '^namespace MediaWiki\\.*;$' -hr extensions/ skins/ --exclude-dir=vendor --exclude-dir=tests | sort -u namespace MediaWiki\Babel\BabelBox; namespace MediaWiki\Extensions\OAuth; -- Brad Jorsch (Anomie) Senior Software Engineer Wikimedia Foundation _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
