Manual:eval.php
MediaWiki file: eval.php | |
---|---|
Location: | maintenance/ |
Source code: | master • 1.42.4 • 1.41.5 • 1.39.11 |
Classes: | Find code • Find documentation |
eval.php is a maintenance script that is located in the maintenance
directory that you can use to play live with MediaWiki objects and functions.
It is now considered deprecated and has been replaced by shell.php which is more robust (does not abort on fatal errors) and has more features (auto-printing return values, reflection, documentation viewer, tab completion etc).
$ php maintenance/eval.php
> print wfMessage("Recentchanges")->plain();
Recent changes
MediaWiki classes are automatically autoloaded:
$ php maintenance/eval.php
> echo Xml::label( 'My label', 'someInput', array( 'class' => 'pink' ) );
<label for="someInput" class="pink">My label</label>
Some debugging is also possible:
$ php maintenance/eval.php --d 3 > print wfMessage("Recentchanges")->text(); Unstubbing $wgLang on call of $wgLang::getCode from MessageCache::get Connecting to localhost minitest... Profiler::instance called with bogus $wgProfiler setting, falling back to ProfilerStub for safety IP: 127.0.0.1 Query minitest (1) (slave): SET /* DatabasePostgres::open 127.0.0.1 */ client_encoding='UTF8' Query minitest (2) (slave): SET /* DatabasePostgres::open 127.0.0.1 */ datestyle = 'ISO, YMD' Query minitest (3) (slave): SET /* DatabasePostgres::open 127.0.0.1 */ timezone = 'GMT' Query minitest (4) (slave): SET /* DatabasePostgres::open 127.0.0.1 */ standard_conforming_strings = on Query minitest (5) (slave): BEGIN Transaction state changed from IDLE -> TRANS Query minitest (6) (slave): SELECT /* DatabasePostgres::schemaExists 127.0.0.1 */ 1 FROM "pg_catalog"."pg_namespace" WHERE nspname = 'mediawiki' LIMIT 1 Query minitest (7) (slave): SELECT /* DatabasePostgres::getSchemas 127.0.0.1 */ current_schemas(false) Query minitest (8) (slave): SHOW /* DatabasePostgres::getSearchPath 127.0.0.1 */ search_path Query minitest (9) (slave): SET /* 127.0.0.1 */ search_path = "mediawiki", "$user", public Schema "mediawiki" added to the search path Query minitest (10) (slave): COMMIT Transaction state changed from TRANS -> IDLE Connected to localhost minitest. Query minitest (11) (slave): SELECT /* LCStore_DB::get 127.0.0.1 */ lc_value FROM "l10n_cache" WHERE lc_lang = 'en' AND lc_key = 'deps' LIMIT 1 Query minitest (12) (slave): SELECT /* LCStore_DB::get 127.0.0.1 */ lc_value FROM "l10n_cache" WHERE lc_lang = 'en' AND lc_key = 'list' LIMIT 1 Query minitest (13) (slave): SELECT /* LCStore_DB::get 127.0.0.1 */ lc_value FROM "l10n_cache" WHERE lc_lang = 'en' AND lc_key = 'preload' LIMIT 1 Query minitest (14) (slave): SELECT /* LCStore_DB::get 127.0.0.1 */ lc_value FROM "l10n_cache" WHERE lc_lang = 'en' AND lc_key = 'preload' LIMIT 1 Connecting to localhost minitest... Query minitest (15) (slave): SET /* DatabasePostgres::open 127.0.0.1 */ client_encoding='UTF8' Query minitest (16) (slave): SET /* DatabasePostgres::open 127.0.0.1 */ datestyle = 'ISO, YMD' Query minitest (17) (slave): SET /* DatabasePostgres::open 127.0.0.1 */ timezone = 'GMT' Query minitest (18) (slave): SET /* DatabasePostgres::open 127.0.0.1 */ standard_conforming_strings = on Query minitest (19) (slave): BEGIN Transaction state changed from IDLE -> TRANS Query minitest (20) (slave): SELECT /* DatabasePostgres::schemaExists 127.0.0.1 */ 1 FROM "pg_catalog"."pg_namespace" WHERE nspname = 'mediawiki' LIMIT 1 Query minitest (21) (slave): SELECT /* DatabasePostgres::getSchemas 127.0.0.1 */ current_schemas(false) Schema "mediawiki" already in the search path Query minitest (22) (slave): COMMIT Transaction state changed from TRANS -> IDLE Connected to localhost minitest. Query minitest (23) (slave): SELECT /* SqlBagOStuff::get 127.0.0.1 */ value,exptime FROM "objectcache" WHERE keyname = 'minitest:messages:en' LIMIT 1 MessageCache::load: Loading en... got from global cache Recent changes >
See also
edit- Manual:How to debug
- phpsh features tab completion, and quick access to documentation