Extension:Variables

This page is a translated version of the page Extension:Variables and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Tiếng Việt • ‎Türkçe • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎中文 • ‎日本語 • ‎한국어
MediaWiki manüel uzantıları
OOjs UI icon advanced.svg
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.5.2 (2019-07-11)
MediaWiki 1.29+
PHP 5.5+
Veritabanı değişiklikleri Hayır
Lisans ISC Lisansı
İndir
README
RELEASE-NOTES
  • $egVariablesAreVolatile
  • $egVariablesDisabledFunctions
Translatewiki.net adresinde mevcutsa, Variables uzantısını çevirin
Kullanım ve sürüm matrisini kontrol edin.
Vagrant rolü variables
Sorunlar Açık görevler · Hata bildir

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.

Bu uzantı, Wikimedia Vakfı (WMF) tarafından yürütülen vikiler için etkinleştirilmez.[1][2][3][4] Alternatifleri bakınız.

Bir değişkene değer atama

#vardefine

  • {{#vardefine:değişkenismi|belirlenmişdeğer}}

değişkendeğeri değerini (zaten var olan veya bu şekilde tanıtılan) değişken değişkenismi atar.

  • Örnek: {{#vardefine:iconwidth|25}} iconwidth = 25 yapılır

#vardefineecho

  • {{#vardefineecho:değişkenismi|belirlenmişdeğer}}

Tam olarak #vardefine olarak çalışır, ancak etkilenen değer yazdırılır.

  • Örnek: making iconwidth = <code>{{#vardefineecho:iconwidth|25}}</code>

Bir değişkenin değerini alma

#var

değişkenadı değişkeninin değeri,

  • {{#var:değişkenismi}}

Tanımsızsa, bu boş bir dize oluşturur; bir hata mesajı vermez.

Değişkenin tanımsız veya geçersiz olduğu durum için bir değer tanımlamak mümkündür:

  • {{#var:değişkenismi | varsayılandeğer }}

Bu şuna eşittir:

  • {{#if: {{#var:değişkenismi}} | {{#var:değişkenismi }} | 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şkenismi }} 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şkenismi | ise değer | başka bir değer }}

Bu şuna eşittir:

  • {{#if: {{#varexists: değişkenismi }} | ise değer | 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

Değişkenler 2.0'da sunulan yeni deneysel işlev. Bu işlev, sayfa oluşturma işleminin 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 işaretlemesinin üzerinden geçtikten sonra eklenecektir, bu nedenle bu işlev diğer işlevlerde kullanılamaz ve doğru değerin kullanılmasını bekler. Örnek:

  • {{#var_final:değişkenismi | varsayılandeğer}}

Değişken son sayfa oluşturma aşamasında yoksa veya değeri boş bir dize ise varsayılan 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ı da kurulmalıdır.

x = 2*a + b hesapla:

  • {{#vardefine:x|{{#expr:2*{{#var:a}}+{{#var:b}}}}}}

n ye bir tane ekleyin:

  • {{#vardefine:n|{{#expr:{{#var:n}}+1}}}}

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki Variables adlı dizine yerleştirin.
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'Variables' );
    
  • Configure as required
  •   Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.

MediaWiki 1.30 veya önceki bir sürümü çalıştıran kullanıcılara:

Yukarıdaki talimatlar, bu eklentiyi wfLoadExtension() kullanarak kurmanın yeni yolunu açıklar. Bu uzantıyı önceki sürümlerine (MediaWiki 1.30 ve önceki sürümler) yüklemeniz gerekirse, wfLoadExtension( 'Variables' ); yerine kullanmanız gerekir:

require_once "$IP/extensions/Variables/Variables.php";

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.

Alternatifler

Bu uzantı, Wikimedia Foundation (WMF) tarafından çalıştırılan vikiler için etkinleştirilmeyeceğinden [1][2][3][4], işte bazı alternatifler:

  • 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. Bu, genişleme derinliği sınırına ulaşana kadar çalışır.
  • Değişkenleri basit ParserFunctions ile mümkün olandan daha karmaşık şablon işlemleri yapmak için kullanırsanız, bunun yerine Scribunto'nun Lua işlevini kullanabilirsiniz. Bunun genel Değişkenler için destek eklemediğini unutmayın. Ancak, Extension:VariablesLua , Değişkenler 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.

Ayrıca bakınız

Kaynakça