Dubluve.net » php 5.4 http://www.dubluve.net Biz de yazılımcıyız Wed, 18 Feb 2015 19:18:05 +0000 tr-TR hourly 1 http://wordpress.org/?v=3.9.1 php 5.4 Diziler (Array) – Php Yeni Özellikler http://www.dubluve.net/2012/03/30/php-5-4-diziler-array-php-yeni-ozellikler/ http://www.dubluve.net/2012/03/30/php-5-4-diziler-array-php-yeni-ozellikler/#comments Fri, 30 Mar 2012 11:13:19 +0000 http://dubluve.net/?p=1115 "value1", "key2" => "value2", ); // PHP 5.4 'ten itibaren $array = [ "key1" => "value1", "key2" => "value2", ]; Ayrıca geri döndürdüğü (return değeri) […]]]> Php 5.4 ün içindeki yeniliklerden biri de dizilerdeki (array’lerdeki) kısaltılmış kullanım özelliğidir. Aşağıda bu kullanım ile ilgili bir örnek verdim.

//Php 5.4'ten önce
< ?php
$array = array(
    "key1" => "value1",
    "key2" => "value2",
);

// PHP 5.4 'ten itibaren
$array = [
    "key1" => "value1",
    "key2" => "value2",
];

Ayrıca geri döndürdüğü (return değeri) array olan fonksiyonlarda da eskiden uğraştığımız ilk önce değişkene atama çilesi, php 5.4 ile bitmiş olacak.
Artık fonksiyon çağırdıktan sonra doğrudan köşeli parantez ile istediğimiz indisi alabiliriz.

Not : Bu durum optimize çalışmayan metodlar, fonksiyonlar yazmanıza sebep olabilir, bu konuda sistemin gereksiz enerji harcamamasına dikkat ediniz.

< ?php
function getArray() {
    return array(1, 2, 3);
}
// php 5.4'ten önce
$tmp = getArray();
$secondElement = $tmp[1];

//PHP 5.4'ten itibaren
$secondElement = getArray()[1];

// veya
list(, $secondElement) = getArray();
?>
]]>
http://www.dubluve.net/2012/03/30/php-5-4-diziler-array-php-yeni-ozellikler/feed/ 6
php 5.4 Traits – Php Yeni Özellikler http://www.dubluve.net/2012/03/18/php-5-4-traits-yeni-ozellikler/ http://www.dubluve.net/2012/03/18/php-5-4-traits-yeni-ozellikler/#comments Sun, 18 Mar 2012 17:12:21 +0000 http://dubluve.net/?p=1040 Php 5.4 ile ilgili yeni özelliklerden bir tanesi trait kavramı. trait kavramının bir Türkçe karşılığını bulamadım.

Bir sınıfın birden çok miras alması durumu php’de olmayan bir durum. Bildiğim kadarıyla sadece C++’ta var.

Traitler bizi birden çok miras alma durumlarına benzer ihtiyaçları çözmek için getirilmiş bir yenilik gibi gözüküyor.

Normalde 2 adet farklı sınıfımızın aynı fonksiyonu kullanması gerekiyorsa, o iki sınıfın ata sınıfı olarak tanımlar, o metodu onun içine koyar, 2 farklı sınıfımızı da ondan türeterek bu konuyu halledebilirdik.

Peki ya, zaten extend ettiğimiz bir sınıf var ise, ve de ekleyeceğimiz metod ile alakasız ise o zaman ne yapacağız?

Bu durumda duplicate (tekrarlayan) kod yazmamak için traitleri kullanmamız faydalı olabilir.

Php’nin sitesindeki örneği vereyim.

< ?php
trait ezcReflectionReturnInfo {
    public function getReturnType() { /*1*/ }
    public function getReturnDescription() { /*2*/ }
}

class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ..bişeyler bişeyler... */
}

class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* .. bişeyler bişeyler... */
}
?>

Yukarıda 1 trait , 2 sınıf mevcut. 2 sınıfın extend ettiği bir sınıf daha var. (bu kodda yok) Bu durumda 2 farklı sınıfta, ana sınıfta olmayan yeni metodlar istiyorsam, sınıfın içinde use ecReflectionReturnInfo diyerek bu traiti sınıf içinde kullanılabilir hale getirmiş oluyorum.

Yani bu trait içinde yazılı metodlar sanki sınıfın çinde yazılmış public functionlar olarak davranacaklardır.

O yüzden trait kelimesini Türkçe’ye “sınıfçık” olarak çeviriyorum :)

Bu mantıkta traitler içinde değişken, static function, vb.. gibi şeyler tanımlayabiliyoruz. Ayrıca hangisini hangisinin yerine kullanacağının ayarlamalarını da detaylı yapabiliyoruz.

Henüz deneyemediğim ve yazılımda ihtiyaç olarak ne şekilde kullanabilceğimin tam oturmadığı diğer bu konular hakkında okumaya devam etmek için php’nin kendi sitesinden devame edebilirsiniz.

http://tr2.php.net/traits

]]>
http://www.dubluve.net/2012/03/18/php-5-4-traits-yeni-ozellikler/feed/ 4
php 5.4 çıktı http://www.dubluve.net/2012/03/05/php-5-4-cikti/ http://www.dubluve.net/2012/03/05/php-5-4-cikti/#comments Mon, 05 Mar 2012 12:57:51 +0000 http://dubluve.net/?p=980 Php 5.4 çıkmasıyla birilikte beraberinde getirdiği bir çok yenilik var. Bunlardan önüzmüdeki günlerde deneyerek bahsetmeye çalışacağım. Php ye yakışacak şekilde değişiklikler olduğunu düşünüyorum ilk etapta. Temel bazlı birkaç konuya da el atılmış. Bunlar arrayler, ve döngüler gibi durumları içeren konular.

Bazı Deprecated özellikleri de kaldırmışlar. (Nihayet magic_quotes_gpc de kalktı)

İlerleyen yazılarımızda paylaşmaya çalışacağım. Herkese hayırlı olsun.

]]>
http://www.dubluve.net/2012/03/05/php-5-4-cikti/feed/ 5