Dönüştürücü


    × Bunları biliyor muydunuz?
"URL::base() ve URL::site() kullanımları farklıdır. Özellikle varlık dosyalarına yol verilirken URL::base(), [a] etiketi ile köprü oluştururken URL::site() kullanılmalıdır."


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