Extension:Ayrıştırıcı işlev uzantıları

This page is a translated version of the page Extension:Parser function extensions and the translation is 100% complete.

"Ayrıştırıcı işlevi", işlev adından iki nokta üst üste iki nokta üst üste işareti ile ayrılmış en az bir adlandırılmamış parametreye dayanan bir değer döndüren şablon benzeri bir yapıdır. Daha fazla parametre de olabilir; sıradan şablonlarda olduğu gibi, bu ek parametrelerin her birinin önünde bir "boru" [|] bulunur. İşlev adının başlangıcında bir kare karakteri [#] olması durumunda (ad alanları ve interwiki önekleriyle çarpışmayı önler), bu adın bir parçası olarak kabul edilebilir veya edilmeyebilir. Adın bir parçası olarak kabul edilirse, sözdizimi formdadır

{{functionname: argument 1 | argument 2 | argument 3...}}
Çağıran ayrıştırıcı işlevini sağlamak için bağımsız değişkeni yoksa, form yalnızca {{ayrıştırıcıad:}} veya ne zaman bir karma karakter uygulanırsa (normalde olduğu gibi), form {{#ayrıştırıcıad:}} olur. Sondaki iki nokta sağlanmazsa, ayrıştırıcıad ayrıştırıcı tarafından tanınmaz.

Bağımsız değişkenler, şablon çağrısı, ayrıştırıcı işlev çağrısı, değişken, bağlantı veya resim kodunun bir parçası dışında doğrudan "|" veya "}}" içeremez, ancak bunları m:Template:! veya ayrıştırıcı işlevi gibi şablon kullanarak isteğe bağlı olarak içerebilir.

Kod, işlev adının büyük/küçük harfe duyarlı olup olmadığını belirtebilir.

Bağımsız değişkenlerin birbirinden ayrılması "|" ile ve işlev adının ilk ":" ile ayrılması Bu parçaların her birinin genişlemesi Special:ExpandTemplates sayfasında olduğu gibi standarttır ( Bu arada, bu şeyleri öğreniyorsanız) ve ayrıştırıcı işlevinin kontrolünün ötesindedir.

Ancak, her ayrıştırıcı işlevi için diğer her şey farklı olabilir, bunlardan bazıları:

  • bağımsız değişkenin yalnızca bir değer olup olmadığı veya parname = parvalue biçiminde olup olmadığı
  • varsa, parametre adlarının büyük/küçük harfe duyarlı olup olmadığı

Ayrıştırıcı işlev uzantısı tarafından belirtilen sözdizimi

Yukarıdakiler görünümde, bir argümanda kullanılacak sözdiziminin boru karakteri $backslash veya çift parantezleri (daha spesifik olarak, çift kapama "}}") içermeyecek şekilde bir uzantı yapmak avantajlıdır. Bu, bir boru karakterinin aksi takdirde örneğin bir seçim veya birleşim için uygun bir sembol gibi görünmesine rağmen (örneğin, [1] bakınız). Alternatif bir koda da izin veriliyorsa, bu tür kodlara izin vermek zararsızdır, örn. "|" için "\".

İşlevler tablosu

uzantı işlev MediaWiki sürümü
built-in lc 1.7+
built-in uc 1.7+
built-in lcfirst 1.7+
built-in ucfirst 1.7+
built-in urlencode 1.7+
built-in anchorencode 1.8+
built-in localurl 1.7+
built-in fullurl 1.7+
built-in #language 1.7+
built-in #special 1.9+
built-in #tag 1.12+
ParserFunctions (usage ) #expr 1.19+
ParserFunctions (usage ) #ifexpr 1.19+
ParserFunctions (usage ) #if 1.19+
ParserFunctions (usage ) #ifeq 1.19+
ParserFunctions (usage ) #ifexist 1.19+
ParserFunctions (usage ) #rel2abs 1.19+
ParserFunctions (usage ) #titleparts 1.19+
ParserFunctions (usage ) #switch 1.19+
ParserFunctions (usage ) #time 1.19+
AddScriptCss #addscript Archived
Arrays #arraydefine 1.23+
Arrays #arraydiff 1.23+
Arrays #arrayindex 1.23+
Arrays #arrayintersect 1.23+
Arrays #arraymerge 1.23+
Arrays #arrayprint 1.23+
Arrays #arrayreset 1.23+
Arrays #arraysearch 1.23+
Arrays #arraysearcharray 1.23+
Arrays #arraysize 1.23+
Arrays #arrayslice 1.23+
Arrays #arraysort 1.23+
Arrays #arraytohash 1.23+
Arrays #arrayunion 1.23+
Arrays #arrayunique 1.23+
Arrays #hashtoarray 1.23+
Attachments #attach 1.31+
Attachments #exturl 1.31+
Babel #babel 1.30+
CSS #css 1.25+
Coordinate #coordinate 1.10+
Counter #+ 1.15+
Data #data Archived
Data #sort Archived
DynamicFunctions #arg Archived
DynamicFunctions #ip Archived
DynamicFunctions #rand Archived
DynamicFunctions #skin Archived
DynamicPageList #dpl
ExpandAfter #expandafter (deprecated , see: #tag) Archived
ForeachFunction #foreachx Archived
ForeachFunction #foreachy Archived
HasCategory #ifhascat Archived
HideNamespace #hidens 1.15+
HideNamespace #unhidens 1.15+
ImageLink #img (old: #imagelink, deprecated ) Archived
Infobox Data Capture #dataentry Archived
Infobox Data Capture #listsplit Archived
InterWikiLinkManager #iwl Archived
KeyValue #keyvalue 1.16+
Labeled Section Transclusion #lst 1.25+
Labeled Section Transclusion #lstx 1.25+
Labeled Section Transclusion #lsth 1.25+
LoopFunctions #for 1.23+
LoopFunctions #foreach 1.25+
Loops #while 1.25+
Loops #dowhile 1.25+
Loops #forargs 1.25+
Loops #fornumargs 1.25+
Loops #loop 1.25+
Maps #geocode 1.27+
Maps #display_map 1.27+
Maps #display_point 1.27+
Maps #coordinates 1.27+
Maps #distance 1.27+
MediaFunctions #media.. 1.23+
PageAfterAndBefore #pagebefore Archived
PageAfterAndBefore #pageafter Archived
PageAfterAndBefore #firstpage Archived
PageAfterAndBefore #lastpage Archived
PageFunctions #pagetitle Archived
PageFunctions #pagesubtitle Archived
PageFunctions #pageexists Archived
PageFunctions #varset Archived
PageFunctions #varget Archived
PageFunctions #varcapset Archived
PageFunctions #cshow Archived
PageFunctions #varaset Archived
PageFunctions #varaget Archived
ParserFunctions (extended) #expr (extended) 1.19+
ParserFunctions (extended) #ifexpr (extended) 1.19+
ParserFunctions (extended) #min 1.19+
ParserFunctions (extended) #max 1.19+
ParserFunctions (extended) #if 1.19+
ParserFunctions (extended) #ifeq 1.19+
ParserFunctions (extended) #ifexist 1.19+
ParserFunctions (extended) #rel2abs 1.19+
ParserFunctions (extended) #switch 1.19+
ParserFunctions (extended) #time 1.19+
Pipe Escape #! 1.23+
QPoll #qpuserchoice 1.23+
RegexTools #regex Archived
RegexTools #regex_vars Archived
SecureProperties #pg Archived
SecureProperties #ps Archived
SecureProperties #pf Archived
SecureProperties #gg Archived
SecureProperties #gs Archived
Semantic MediaWiki #ask 1.27+
Semantic MediaWiki #concept 1.27+
Semantic MediaWiki #info 1.27+
Semantic MediaWiki #show 1.27+
Semantic MediaWiki #set 1.27+
StringFunctions #len 1.7+
StringFunctions #pos 1.7+
StringFunctions #rpos 1.7+
StringFunctions #sub 1.7+
StringFunctions #pad 1.7+
StringFunctions #replace 1.7+
StringFunctions #explode 1.7+
StringFunctions #urlencode 1.7+
StringFunctions #urldecode 1.7+
TreeAndMenu #tree 1.23+
TreeAndMenu #menu 1.23+
Variables #vardefine 1.29+
Variables #vardefineecho 1.29+
Variables #var 1.29+
Variables #varexists 1.29+
Variables #var_final 1.29+
Wikibase Client #property
Wikibase Client #statements

Ayrıca bakınız