Yardımcı Fonksiyonlar

Nette\Utils\Helpers, kullanışlı yardımcı fonksiyonlar içeren statik bir sınıftır.

Kurulum:

composer require nette/utils

Tüm örnekler, aşağıdaki sınıf takma adının tanımlandığını varsayar:

use Nette\Utils\Helpers;

capture (callable $func): string

Bir callback'i çalıştırır ve yakalanan çıktıyı dize olarak döndürür.

$res = Helpers::capture(function () use ($template) {
	$template->render();
});

clamp (int|float $value, int|float $min, int|float $max): int|float

Bir değeri min ve max ile belirtilen kapalı aralığa sıkıştırır.

Helpers::clamp($level, 0, 255);

compare (mixed $left, string $operator, mixed $right)bool

İki değeri PHP'nin yaptığı gibi karşılaştırır. >, >=, <, <=, =, ==, ===, !=, !==, <> operatörlerini destekler. Bu fonksiyon, operatörün dinamik olarak belirlendiği (bir değişken olduğu) durumlarda işe yarar.

Helpers::compare(10, '<', 20); // true

falseToNull (mixed $value)mixed

false değerini null'a dönüştürür; diğer değerler değişmeden kalır.

Helpers::falseToNull(false); // null
Helpers::falseToNull(123);   // 123

getLastError(): string

Oluşan son PHP hatasını, hata yoksa boş bir dize döndürür. error_get_last()'in aksine PHP'nin html_errors yönergesinden etkilenmez ve her zaman HTML değil düz metin döndürür.

Helpers::getLastError();

getSuggestion (string[] $possibilities, string $value): ?string

Verilen $possibilities içinden $value'ya en çok benzeyen, ama onunla aynı olmayan dizeyi bulur. Yalnızca 8 bitlik kodlamaları destekler.

Bu, belirli bir seçenek geçersiz olduğunda kullanıcıya benzer bir alternatif önermek istediğinizde işe yarar (ama farklı bir seçenek olmalı, aynı dizelerin yok sayılmasının nedeni budur). Nette, “bunu mu demek istediniz …?” mesajlarını böyle üretir.

$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo');   // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz');  // 'bar', 'baz' değil

splitClassName (string $name)array

Bir PHP sınıf adını isim alanı ile kısa sınıf adına ayırır. İlki isim alanı, ikincisi sınıf adı olmak üzere iki dizeden oluşan bir dizi döndürür.

Helpers::splitClassName('Nette\Utils\Helpers'); // ['Nette\Utils', 'Helpers']
Helpers::splitClassName('Foo');                 // ['', 'Foo']
versiyon: 4.x