Jump to content

手册:Defines.php

From mediawiki.org
This page is a translated version of the page Manual:Defines.php and the translation is 18% complete.

详情

Defines.php contains "a few constants that might be needed during LocalSettings.php . Note: these constants must all be resolvable at compile time by HipHop, since this file will not be executed during request startup for a compiled MediaWiki." Among the constants are version constants for the benefit of extensions; Unicode normalisation related constants; namespace constants, including those that provide support for $wgResourceModules ; protocol constants for wfExpandUrl; and flags for Parser::replaceLinkHolders.

常量

  • 数据库相关常量
  • Valid database indexes
  • Operation-based indexes
  • Anti-lock flags
  • Date format selectors; used in user preference storage and by Language ::date() and co.
  • Article edit flags
  • Allowed values for Parser ::$mOutputType
  • Flags for Parser::setFunctionHook
  • Flags for Parser::replaceLinkHolders

标记

In some cases, bitfields are used for flags. Examples are as follows:

define( 'DBO_DEBUG', 1 );
define( 'DBO_NOBUFFER', 2 );
define( 'DBO_IGNORE', 4 );
define( 'DBO_TRX', 8 ); // automatically start transaction on first query
define( 'DBO_DEFAULT', 16 );
define( 'DBO_PERSISTENT', 32 );
define( 'DBO_SYSDBA', 64 ); // for oracle maintenance
define( 'DBO_DDLMODE', 128 ); // when using schema files: mostly for Oracle
define( 'DBO_SSL', 256 );
define( 'DBO_COMPRESS', 512 );
define( 'ALF_PRELOAD_LINKS', 1 ); // unused
define( 'ALF_PRELOAD_EXISTENCE', 2 ); // unused
define( 'ALF_NO_LINK_LOCK', 4 );
define( 'ALF_NO_BLOCK_LOCK', 8 );
define( 'EDIT_NEW', 1 );
define( 'EDIT_UPDATE', 2 );
define( 'EDIT_MINOR', 4 );
define( 'EDIT_SUPPRESS_RC', 8 );
define( 'EDIT_FORCE_BOT', 16 );
define( 'EDIT_DEFER_UPDATES', 32 );
define( 'EDIT_AUTOSUMMARY', 64 );

These involve the use of bitwise operators. E.g. if you want to set the EDIT_MINOR flag in $flags to true:

$flags |= EDIT_MINOR;

If you want to set both the EDIT_MINOR and EDIT_NEW flags in $flags to true, and all the other flags in $flags to false:

$flags = EDIT_MINOR | EDIT_NEW;

If you want to set the EDIT_MINOR flag in $flags to false:

$flags &= ~EDIT_MINOR;

If you want $isminor to only be true if the EDIT_MINOR flag is set to true in $flags:

$isminor = ( $flags & EDIT_MINOR );