Yardımcı Fonksiyonlar
*********************
.[perex]
[api:Nette\Utils\Helpers], kullanışlı yardımcı fonksiyonlar içeren statik bir sınıftır.
Kurulum:
```shell
composer require nette/utils
```
Tüm örnekler, aşağıdaki sınıf takma adının tanımlandığını varsayar:
```php
use Nette\Utils\Helpers;
```
capture(callable $func): string .[method]
-----------------------------------------
Bir callback'i çalıştırır ve yakalanan çıktıyı dize olarak döndürür.
```php
$res = Helpers::capture(function () use ($template) {
$template->render();
});
```
clamp(int|float $value, int|float $min, int|float $max): int|float .[method]
----------------------------------------------------------------------------
Bir değeri min ve max ile belirtilen kapalı aralığa sıkıştırır.
```php
Helpers::clamp($level, 0, 255);
```
compare(mixed $left, string $operator, mixed $right): bool .[method]
--------------------------------------------------------------------
İ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.
```php
Helpers::compare(10, '<', 20); // true
```
falseToNull(mixed $value): mixed .[method]
------------------------------------------
`false` değerini `null`'a dönüştürür; diğer değerler değişmeden kalır.
```php
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
```
getLastError(): string .[method]
--------------------------------
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.
```php
Helpers::getLastError();
```
getSuggestion(string[] $possibilities, string $value): ?string .[method]
------------------------------------------------------------------------
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.
```php
$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 .[method]{data-version:4.0.10}
------------------------------------------------------------------
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.
```php
Helpers::splitClassName('Nette\Utils\Helpers'); // ['Nette\Utils', 'Helpers']
Helpers::splitClassName('Foo'); // ['', 'Foo']
```
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']