Dönüştürücü


    × Bunları biliyor muydunuz?
"Devtools projesi ile framework kullanma deneyiminizi daha görsel hale getirebilirsiniz."


Dizgelerde dönüşüm sağlayan yöntemleri barındıran sınıftır. Gerek tür dönüşümü gerekse de çeşitli dizge dönüşümleri yapmak için oluşturulmuştur. İçerisinde fazlası ile işinize yarayacağını düşündüğümüz yöntemler mevcuttur.

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-helpers

 

 

# Yöntemler


Converter::byte(int $bytes, int $precision = 1, bool $unit = true, string $fix = '') : string
Converter::toBytes(float $value) : float
Converter::money(int $money = 0, string $type = NULL, bool $suffix = true) : string
Converter::moneyToNumber(string $money) : float
Converter::time(int $count, string $type = 'second', string $output = 'day') : float
Converter::slug(string $str, bool $protectExtension = false) : string
Converter::word(string $str, mixed $badWords = NULL, $changeChar = '[badwords]') : string
Converter::anchor(string $data, string $type = 'short', array $attributes = NULL) : string
Converter::char(string $str, string $type = 'char', string $changeType = 'html') : string
Converter::accent(string $str) : string
Converter::charset(string $str, string $fromCharset, string $toCharset = 'utf-8') : string
Converter::highLight(string $str, array $settings = [] : string
Converter::toString(mixed $var) : string
Converter::toConstant(mixed $var, string $prefix, string $suffix) : string
Converter::toObjectRecursive(array $arr) : object

 

 

# Byte (ZN >= 4.0.1-EIP)


Girilen byte miktarını ilgi byte türüne dönüştürür.

Paket[6.1.5.2][2020-06-10] Güncellemesi

[ string $fix = '' ] parametresi eklendi.

Parametreler

int $bytes Sayısal türden bayt miktarı.
int $precision = 1 Ondalıklı bölümün kaç karakter olacağı.
bool $unit = true Tür adı görüntülensin mi?
string $fix = '' 3. parametreye bağlı olarak tür adı ile değer arasına karakter koymak için kullanılır.
return string

Kullanımlar

echo Converter::byte(1000000, 2);
echo Converter::byte(1000000, 1, false);
976.56KB
976.6

[$fix]

Bu parametre 3. parametre ile gösterilen tür ile değer arasında istenilen ifadenin eklenebilmesini sağlanmıştır.

echo Converter::byte(1000000, 2, true, ' ');
echo Converter::byte(1000000, 2, true, '-');
976.56 KB
976.56-KB

 

 

# ToBytes (ZN FE 5.5.9)


Kullanımı byte() yönteminden farklı olarak 20MB, 5GB gibi string değerleri byte türüne dönüştürür.

Parametreler

string $value Bayta çevrilecek dizge.
return float

Kullanımlar

echo Converter::toBytes('1KB');
1024

 

 

# Money (ZN >= 4.0.1-EIP)


Girilen sayıyı para türüne çevirir.

Paket[5.3.9][2018-01-23] Güncellemesi

[ string $type = NULL ] parametresinde değişiklik yapıldı.

Parametreler

int $money Para biçimine çevrilecek sayısal değer.
string $type = NULL
Para birimi. Birim sona eklenir. Bunu başa almak için parametre değerinin başına ! işareti eklenir.
bool $suffix = true Para biçiminin sonuna ,00 ifadesi ekler. Bu değerin false ayarlanması dışında bu ek görünmez.
return string

Kullanımlar

echo Converter::money(1000000, '£');
1.000.000,00 £

[$suffix = false]

Para biçimi sonunda yer alan virgüllü ifade kaldırılır.

echo Converter::money(1000000, '$', false);
1.000.000

[$type = '!']

Para birimini başa almak için parametrenin başına ünlem ( ! ) işareti eklenir.

echo Converter::money(1000000, '!£');
echo Converter::money(1000000, '!$', false);
£ 1.000.000,00
$ 1.000.000 

 

 

# MoneyToNumber (ZN >= 5.2.0)


Converter::money() yöntemi ile çevrilmiş para biçimini float türden sayıya dönüştürür.

Parametreler

string $moneyFormat Para biçimi.
return float

Kullanımlar

echo Converter::moneyToNumber('1.000.000,00');
1000000

 

 

# Time (ZN >= 4.0.1-EIP)


Girilen sayıyı zaman türüne çevirir.

Parametreler

int $count Sayı.
string $inputType = 'second' Girilen zaman türü.
string $outputType = 'day' Dönüştürülen zaman türü.
return float

Kullanımlar

output( Converter::time(120, 'second', 'minute') );
output( Converter::time(120, 'day', 'month') );
output( Converter::time(12, 'month', 'year') );
2
4

 

 

# Slug (ZN >= 4.4.9)


Bir dizgeyi URL yapısına uygun forma çevirir.

Paket[5.6.0.2][2018-04-20] Güncellemesi

[ bool $protectExtension = false ] parametresinin kullanımında değişiklik yapılmıştır.

Parametreler

string $data Çevrilecek dizge.
bool $protectExtension = false Uzantı korunsun mu? Dosya isimlerinde sadece isim bölümünün çevrilmesinde kullanılır.
return string

Kullanımlar

output( Converter::slug('Welcome to ZN') );
welcome-to-zn

[$protectExtension = true]

Eğer slug haline getirilecek olan veri bir dosya bilgisi içeriyorsa ve sadece dosya adının çevrilmesi gerekiyorsa 2. parametreden yararlanılır.

output( Converter::slug('Example File.php', true) );
example-file.php

Yukarıda görüldüğü gibi çeviri sadece isim bölüme yapılmış uzantı değiştirilmemiştir.

[$protectExtension = false]

Aksi halde aşağıdaki gibi bir çıktı oluşturdu.

output( Converter::slug('Example File.php') );
example-file-php

 

 

# Word (ZN >= 4.0.1-EIP)


Veride istenmeyen karakterlerin dönüştürülmesi sağlanır.

Parametreler

string $word Dönüştürme işlemi uygulanacak veri.
mixed $badWords = NULL İstenmeyen kelimeler.
mixed $changeCar = '[badwords]' İstenmeyen karakterlerin yerine gelecek olan dizge veya dizi.
return string

Kullanımlar

output( Converter::word('Hi, ? Guys', '?') );
output( Converter::word('Hi, ? Guys', [',', '?']) );
output( Converter::word('Hi, ? Guys', [',', '?'], ['x', 'y']) ); 
Hi, [badwords] Guys
Hi[badwords] [badwords] Guys
Hix y Guys 

 

 

# Anchor (ZN >= 4.0.1-EIP)


Link dizgesini HTML <a> etiketine dönüştürmek için kullanılır.

Parametreler

string $data Köprüye dönüştürülecek veri.
string $type = 'short' Görünüm linkinin uzunluğu.
short Linkin görünümüne isim vermek için kullanılır.
long Linkin görünümü href değeri ile aynı görüntülenir.
array $attributes = [] Özellik değer çifti.
return string

Kullanımlar

output( Converter::anchor('https://www.znframework.com', 'short', ['id' => 'convert']) );
output( Converter::anchor('https://www.znframework.com', 'long', ['id' => 'convert']) );
<a href="https://www.znframework.com" id="convert">znframework</a>
<a href="https://www.znframework.com" id="convert">https://www.znframework.com</a>

 

 

# Char (ZN >= 4.0.1-EIP)


Karakterleri html, decimal veya hexdecimal karakter biçimine dönüştürmek için kullanılır.

Parametreler

string $data Çevrilecek karakterler.
string $inputType = 'char' Girdi türü.
string $outputType = 'html' Çıktı türü.
return string

Dönüştürülebilir Türler

char Normal karakter.
html HTML numeric karakter formatı.
dec Decimal karakter formatı.
hex Hexdecimal karakter formatı.

Kullanımlar

output( Converter::char('Example Data') );
output( Converter::char('Example Data', 'char', 'dec') );
output( Converter::char('Example Data', 'char', 'hex') );
&#69;&#120;&#97;&#109;&#112;&#108;&#101; &#68;&#97;&#116;&#97;
69 120 97 109 112 108 101 68 97 116 97
45 78 61 6D 70 6C 65 44 61 74 61 

 

 

# Accent (ZN >= 4.0.1-EIP)


Farklı dillerdeki aksan farklılıklarından oluşan karakterleri standart karakter biçimine çevirir. 

Parametreler

string $data Çevrilecek dizge.
return string

Kullanımlar

echo Converter::accent('Åççeňt');
Accent

Aksan Karakter Kümesinin Genişletilmesi

Sistemde ön tanımlı çevrimler dışında kendi karakter kümenizi ilave etmek için aşağıdaki dosyada yer alan accentChars dizisini genişletebilirsiniz.

Dosya: Settings/Expressions.php

 

 

# Charset (ZN >= 4.0.1-EIP)


Dizgenin karakter setini değiştirmek için kullanılır.

Parametreler

string $data Veri.
string $fromCharset Hangi karakter setinden.
string $toCharset = 'utf-8' Hangi karakter setine.
return string

Kullanımlar

echo Converter::charset('Åççeňt', 'UTF-8', 'JIS');
テ?テァテァeナ?t 

 

 

# HighLight (ZN >= 4.0.1-EIP)


PHP dizgesini renkli kodlara dönüştürür.

Parametreler

string $data Sabite dönüştürülecek veri.
array $settings Ayarlar.
php:family PHP font türü.
php:size PHP font boyutu.
php:style PHP stil kullanımı.
html:family HTML font türü.
html:size HTML font boyutu.
html:color HTML font rengi.
html:style HTML stil kullanımı.
comment:color Açıklama satırı rengi.
comment:style Açıklama satırı stil kullanımı.
default:color Varsayılan renk.
default:style Varsayılan stiller.
keyword:color Anahtar kelimelerin rengi.
keyword:style Anahtar kelimelerin stili.
string:color Dizge rengi.
string:style Dizge stil kullanımı.
background Arkaplan stil kullanımı.
tags PHP tagları stil kullanımı
return string

Kullanımlar

echo Converter::highLight('<?php echo $variable;');
<?php echo $variable

 

 

# Tostring  (ZN >= 4.0.1-EIP)


Veriyi dizge türe çevirir.

Parametreler

mixed $data Dizgeye dönüştürülecek veri.
return string

Kullanımlar

echo Converter::toString(['Z', 'N']);
Z N

 

 

# ToConstant (ZN >= 4.0.1-EIP)


Veriyi sabite dönüştürür. Harf duyarlılığı yoktur.

Parametreler

mxied $data Sabite dönüştürülecek veri.
string $prefix Ön ek.
string $suffix Son ek.
return mixed

Kullanımlar

output( Converter::toConstant('PHP_VERSION') );         # PHP_VERSION
output( Converter::toConstant('VERSION', 'PHP_') );     # PHP_VERSION
output( Converter::toConstant('VER', 'PHP_', 'SION') ); # PHP_VERSION
output( Converter::toConstant('phpVersion') );          # PHP_VERSION
7.0.8
7.0.8
7.0.8 
7.0.8

 

 

# ToObjectRecursive  (ZN >= 4.0.1-EIP)


Her türlü diziyi objeye çevirir. Dizi çok boyutlu olabilir.

Parametreler

array $data Dizi.
return object

Kullanımlar

$obj = Converter::toObjectRecursive(['foo' => ['bar' => 'Bar']]);

echo $obj->foo->bar;
Bar