Extension:Variables
Sürüm durumu: kararlı |
|
|---|---|
| Uygulama | Ayrıştırıcı işlevi |
| Açıklama | Sayfa kapsamındaki değişkenlerle başa çıkmak için ayrıştırıcı işlevlerini tanıtır. |
| Yazar(lar) |
|
| Sürdürücü(ler) | MGChecker |
| En son sürüm | 2.6.0-beta (2023-12-05) |
| MediaWiki | 1.29+ |
| PHP | 5.5+ |
| Veritabanı değişiklikleri | Hayır |
| Lisans | ISC Lisansı |
| İndir | README RELEASE-NOTES |
|
|
| Translatewiki.net adresinde mevcutsa, Variables uzantısını çevirin | |
| Vagrant rolü | variables |
| Sorunlar | Açık görevler · Hata bildir |
InternalParseBeforeSanitize hook for MediaWiki 1.35 - MediaWiki 1.38, or missing the #var_final parser function in MediaWiki 1.39+, please update to the latest version (master branch for now). Daha fazla bilgi için T276627 ve T250963 sayfasına bakın.Variables uzantısı, bir sayfada bir değişken tanımlamanıza, bunu daha sonra aynı sayfada veya eklenen şablonlarda kullanmanıza, değerini değiştirmenize, muhtemelen bir ifade tarafından eski değer açısından verilen bir değere değiştirme vb.
Bir şablona çok benzer, sadece çok hafif ve yalnızca tek bir sayfaya yayılmıştır, bu nedenle vikiyi çok sayıda şablonla yavaşlatmadan bir sayfada birçok değişkeni kullanabilirsiniz. En iyi sonuçlar için bu uzantıyı ParserFunctions uzantısıyla birleştirin.
Bir değişkene değer atama
#vardefine
{{#vardefine:değişkenadı | belirlenmişdeğer }}
değişkendeğeri değerini (zaten var olan veya bu şekilde tanıtılan) değişken değişkenadı atar.
- Örnek:
{{#vardefine:iconwidth|25}},iconwidth = 25yapılır
#vardefineecho
{{#vardefineecho:değişkenadı | belirlenmişdeğer }}
Tam olarak #vardefine olarak çalışır, ancak etkilenen değer yazdırılır.
- Örnek:
iconwidth = {{#vardefineecho:iconwidth|25}}yapılır
Bir değişkenin değerini alma
#var
değişkenadı değişkeninin değeri şu şekilde üretilir:
{{#var:değişkenadı}}
Tanımsızsa, bu boş bir dize oluşturur; bir hata mesajı vermez.
Değişkenin tanımsız veya boş olması durumunda varsayılan bir değer elde etmek mümkündür:
{{#var:değişkenadı | varsayılandeğer }}
Bu şuna eşittir:
{{#if: {{#var:değişkenadı }} | {{#var:değişkenadı }} | varsayılandeğer }}
ancak çok daha kısa ve daha iyi düzenlenmiş. Sürüm 2.0'dan önce, varsayılan değer her zaman genişletildi. Varsayılan sürüm 2.0 sürümünden yalnızca gerçekten kullanılması durumunda genişletilir.
Değer ayrıştırıcı işlevlerinde vb. kullanılabilir.
#varexists
{{#varexists:değişkenadı }}değişken önceden tanımlanmışsa 1 değerini döndürür. Değişken tanımlanmamışsa dönüş değeri geçersizdir.
Bu değerleri değiştirmek için ikinci ve üçüncü bir parametreyi destekler.
{{#varexists:değişkenadı | değer-ise | başka-bir-değer }}
Bu şuna eşittir:
{{#if: {{#varexists: değişkenadı }} | değer-ise | başka-bir-değer }}
ancak çok daha kısa ve daha iyi düzenlenmiş. 2.5 sürümünden önce, her ikisi de her zaman genişletildi. 2.5 sürümünden if ve else değerleri yalnızca durumları gerçekten girildiğinde genişletilir.
#var_final
Variables 2.0'da tanıtılan deneysel işlev. Bu işlev, sayfa görüntülemenin sonunda bir değişkenin sahip olduğu son, son değeri verir. Doğal olarak, değer, ayrıştırıcı tüm viki biçimlendirmesinin üzerinden geçtikten sonra eklenecektir, bu nedenle bu işlev, doğru değerin kullanılması beklendiğinden diğer işlevlerde kullanılamaz. Örnek:
{{#var_final:değişkenadı | varsayılandeğer }}
Değişken son sayfa oluşturma aşamasında yoksa veya değeri boş bir dize ise default değer kullanılır. Varsayılan, işlevin kullanıldığı yerde genişletilir, böylece parametre gerekmeyecek olsa bile genişletilir.
Örnekler
#expr kullanmak için ParserFunctions uzantısının da yüklenmesi gerekir.
x = 2*a + b hesapla:
{{#vardefine:x|{{#expr:2*{{#var:a}}+{{#var:b}}}}}}
n olarak bir tane ekleyin:
{{#vardefine:n|{{#expr:{{#var:n}}+1}}}}
Kurulum
- Dosyaları indirin ve
extensions/klasörünüzdekiVariablesadlı dizine yerleştirin.
Developers and code contributors should install the extension from Git instead, using:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Variables
- LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'Variables' );
- Gerektiği gibi yapılandırın
Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
Yapılandırma
Bu uzantı iki yapılandırma parametresi sağlar:
$egVariablesAreVolatile- Uzantı tarafından geçici olarak işaretlenen ayrıştırıcı çerçevesinin devre dışı bırakılmasına izin verir, yani şablon önbelleğini devre dışı bırakır.
- Varsayılan:
true; $egVariablesDisabledFunctions- Bu uzantı tarafından sağlanan belirtilen ayrıştırıcı işlevlerini devre dışı bırakmaya izin verir.
- Varsayılan:
[]; - Örnek:
[ 'var_final', 'vardefineecho' ];
Uyumluluk
Son MediaWiki sürümleri için Değişkenler uzantısının önerilen sürümü aşağıda listelenmiştir. Uzantıların eski sürümleri de işe yarayabilir, ancak yeni MediaWiki sürümleri için test edilmemiştir.
| MediaWiki version | Variables version |
|---|---|
| 1.19–1.22 | 2.1.x |
| 1.23–1.28 | 2.2.x |
| 1.29–1.34 | 2.5.x |
| 1.35–1.43 | master branch (2.6.0-beta) |
| 1.44+ | master branch, untested |
Alternatifler
Bu uzantı, Wikimedia Foundation (WMF) tarafından çalıştırılan vikiler için etkinleştirilmeyeceğinden, işte bazı alternatifler:[1][2][3][4]
- Değişkenleri pahalı işlemler için önbellek olarak kullanırsanız, ihtiyaç duyduğunuz bölümü bir şablona dönüştürebilir ve bunun yerine gerekli bilgileri şablon parametreleri olarak iletebilirsiniz. This will work until you reach the expansion depth limit, which can be increased if necessary.
- Basit Extension:ParserFunctions ile mümkün olandan daha karmaşık şablon işlemleri yapmak için Variables kullanıyorsanız ve sunucuda yeterli izinleriniz varsa, bunun yerine Scribunto'nun Lua işlevini kullanabilirsiniz. Scribunto'yu paylaşımlı barındırmaya kuramayabilirsiniz. Bunun, genel Variables için destek sağlamadığını unutmayın. Ancak, Extension:VariablesLua, Variables deposu için bir Scribunto arabirimi ekler.
- Değişken kullanmayın, bunun yerine ihtiyacınız olan bilgiyi değişken olarak çoğaltın. Bu bilgiler pahalı bir şablon çağrısı tarafından alınırsa, performans düşebilir. Bu, düğüm sayısı sınırına ulaşana kadar çalışacaktır.
- If you require variables just for autonumbering, you could look into Extension:NumerAlpha. Note that this extension is not compatible with the future of parsing as envisaged by Parsoid.
Ayrıca bakınız
- Extension:MyVariables – MediaWiki anlamda yeni değişken oluşturur
- Extension:Loops – Döngü gerçekleştirmek için ayrıştırıcı işlevleri sağlar
- Extension:Arrays – Bir dizi oluşturun ve dizi işlevleri (arama, bölme ve sıralama gibi) sağlayın ve işlemleri (kesişim, birleşim ve fark gibi) ayarlayın
- Extension:HashTables – MediaWiki'de karma tabloları işlemek için yeni ayrıştırıcı işlevleri
Kaynakça
- ↑ 1.0 1.1 phab:T9865
- ↑ 2.0 2.1 phab:T65324
- ↑ 3.0 3.1 phab:T113859
- ↑ 4.0 4.1 phab:T151192
| This extension is included in the following wiki farms/hosts and/or packages: |
- Stable extensions/tr
- Parser function extensions/tr
- ISC licensed extensions/tr
- Extensions in Wikimedia version control/tr
- ParserClearState extensions/tr
- ParserFirstCallInit extensions/tr
- All extensions/tr
- Extensions included in BlueSpice/tr
- Extensions included in Canasta/tr
- Extensions included in Fandom/tr
- Extensions included in Miraheze/tr
- Extensions included in Open CSP/tr
- Extensions included in ProWiki/tr
- Extensions included in semantic::core/tr
- Extensions included in Telepedia/tr
- Extensions included in wiki.gg/tr
- Modifiable variables extensions/tr
