Archive | Temmuz, 2019

PHP 7.3.8 duyuruldu

PHP’nin 7.3.8 sürümü duyuruldu. Çeşitli hataları giderilen ve kimi güvenlik düzeltmeleri ve kimi iyileştirmeler içeren yeni sürüm hakkında daha fazla bilgi edinmek için haberler veya yükseltme dosyalarını inceleyebilirsiniz. PHP, ilk kez Rasmus Lerdorf tarafından, web üzerinden sayfasını ziyaret edenleri izlemek amacıyla bir dizi Perl betiği kullanılarak geliştirilmişti. Ancak insanlar bununla ilgilenmeye başlayınca, Lerdorf bir betik motoru oluşturmaya karar verdi. Ayrıca formlara da destek verdi ve böylece PHP/F1 biçimlenmiş oldu. Adı duyuldukça kimi geliştiricinin dikkatini çekti ve böylece bir API oluşturuldu: PHP3 meydana geldi. Ardından Zend motoruyla PHP4 geldi. Günümüzde PHP; bloglardan forumlara, portal sistemlerinden veri tabanlarına, sınıflardan fonksiyonlara her türlü işlevde kullanılıyor. PHP 7.3.8 hakkında ayrıntuılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

PHP 7.3.8 edinmek için aşağıdaki linklerden yararlanabilirsiniz.

0

Linux Mint 19.2 Tina hazır

Henüz resmi duyurusu yapılmamış olan beta sürümünün çıktığını 14 Temmuz 2019‘da duyurduğumuz “Tina” kod adlı Linux Mint 19.2’nin ISO kalıpları, Linux Mint’in topluluk sayfasında kararlı sürüm için onaylanmış bulunuyor. Dahası Cinnamon, MATE ve Xfce sürüm notları da hazırlanmış bulunuyor. Cinnamon, MATE ve Xfce neler yeni sayfaları da hazır durumda. Ubuntu 18.04 tabanlı olarak gelen sistem; 4.15.0-54 Lİnux çekirdeği üzerine yapılandırılmış bulunuyor ve 2023’e kadar destekleneceği ifade ediliyor. Cinnamon 4.2 ile geldiği bildirilen Cinnamon versiyonu; daha hızlı bir uygulama menüsüyle geliyor. Ekran koruyucunun artık bir ekran klavyesine sahip olduğu belirtilirken, oturum yöneticisinin gdbus’a taşındığı söyleniyor. MATE 1.22.0 ile gelen MATE versiyonu da, Güncelleme Yöneticisi’nde geliştirilmiş çekirdek desteği ile kullanıma sunuluyor. Xfce 4.12 ile gelen Xfce versiyonunda, varsayılan yazı tipleri, Noto’dan Ubuntu yazı tiplerine değiştirilmiş.Henüz resmi duyurusu yapılmamış olsa da ISO kalıplarına kadar yansılarda yerini alan sistemi tanıtmak uygun olacaktır diye düşünüyoruz.

Continue Reading →

Linux Mint 19.2 Tina edinmek için şimdilik aşağıdaki linkten yararlanabilirsiniz.

0

Krita 4.2.4 çıktı

Aslında bir Calligra Suite bileşeni olan grafik düzenleme yazılımı ve dijital sanatçılara yönelik bir çizim uygulaması olan Krita’nın 4.2.4 sürümü çıktı. Henüz resmi duyurusu yapılmamış olan sürüm, indirilmek üzere yansılarda yerini aldı. Bir dizi hata düzeltmesi ve performans iyileştirmesiyle gelen yeni sürüm, HDR modunda resim yapma desteği sunuyor. Şu anda, yalnızca Windows 10 HDR monitörleri ve yalnızca bazı çok özel donanımları destekleyen bu özellik için, CPU ve GPU’nun yeterince yeni olması ve HDR’yi destekleyen bir monitöre sahip olunması gerektiği belirtiliyor. Henüz resmi duyurusu yapılmamış olan Krita 4.2.4 hakkında bilgi edinmek için 4.2 sürüm notlarını inceleyebilirsiniz.

Continue Reading →

Krita 4.2.4 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

Cast or Convert an Array to Object Using PHP (Hydrator Pattern)

In this post, we will convert an array to object using PHP hydrator pattern. This method is so simple, it’s about transferring data from one place to another. We will define a class that will take an array and an object as inputs and search for all set() methods in the object and fills it with values from the array. First, we will determine the object class using get_class() function then we will use get_class_methods() to get the class methods. Keep in mind that we use PHP 7 coalescing operator (??), in case you are not using PHP 7, you can use ternary operator instead. We use substr then we concatenate because if we have lowerCamelCase member variables like $firstName.

Continue Reading →

class Converter
{
public static function toObject(array $array, $object)
{
$class = get_class($object);

$methods = get_class_methods($class);

foreach ($methods as $method) {

preg_match(' /^(set)(.*?)$/i', $method, $results);

$pre = $results[1] ?? '';

$k = $results[2] ?? '';

$k = strtolower(substr($k, 0, 1)) . substr($k, 1);

If ($pre == 'set' && !empty($array[$k])) {

$object->$method($array[$k]);
}
}
return $object;
}
}

To test this converter class, we need to create a class with properties and methods (getters & setters) and see how to convert an array to object using PHP in action.

Let’s assume that we have an employee class like this:

class Employee
{
protected $name;

protected $phone;

protected $email;

protected $address;

public function getName()
{
return $this->name;
}

public function getPhone()
{
return $this->phone;
}

public function getEmail()
{
return $this->email;
}

public function getAddress()
{
return $this->address;
}

public function setName($name)
{
$this->name = $name;
}

public function setPhone($phone)
{
$this->phone = $phone;
}

public function setEmail($email)
{
$this->email = $email;
}

public function setAddress($address)
{
$this->address = $address;
}
}

Convert Array To Object

Now let’s create an array that will hold the data that will be transferred to the class.

$arr['name'] = "Adam";

$arr['phone'] = "123456";

$arr['email'] = "[email protected]";

$arr['address'] = "U.S";

Great, let’s convert the array data to the class.

$obj = Converter::toObject($arr, new Employee());

var_dump($obj);

Look at the result:

Cool!!

You can convert an array to object using PHP hydrator pattern.

Convert Object to Associative Array

What about converting the object to an associative array, it’s the same concept, we are going to create a new function that does the opposite.

Our function will search for all get() functions the same way as the previous function like this:

public static function toArray($object)
{
$array = array();

$class = get_class($object);

$methods = get_class_methods($class);

foreach ($methods as $method) {

preg_match(' /^(get)(.*?)$/i', $method, $results);

$pre = $results[1] ?? '';

$k = $results[2] ?? '';

$k = strtolower(substr($k, 0, 1)) . substr($k, 1);

If ($pre == 'get') {

$array[$k] = $object->$method();
}
}
return $array;
}

Add this function to our converter class and call it with a passed object like this:

var_dump(Converter::toArray($obj));

Note that the passed $obj here is the generated object from the array to object conversion process.

The output shows the associative array as expected.

I hope you find the post useful. Keep coming back.

Thank you.

0

Debian’a Google Chrome nasıl yüklenir?

Kullanıcılar açısından en popüler web tarayıcılarından biri olan Google Chrome, Debian’a nasıl yüklenir? Windows, Mac ve GNU/Linux için hazırlanan versiyonlarıyla kullanıma sunulan bir web tarayıcısı olan Google Chrome, Android üzerinde de yaygın olarak kullanılmaktadır. Artık birçok işletim sisteminin, sisteme bağlı olarak “karanlık tema” veya “karanlık mod” olarak adlandırılan bir sistem ayarıyla ters renk şemalarını desteklediği hatırlatılırken, Chrome artık yerel ödemeli ortamda kendinden imzalı sertifikalar için ödeme API’lerini kullanmayı da kolaylaştırıyor. Sisteminizde sudo öntanımlı olarak kurulmamışsa, sudo’yu kurabilir, kendinizi /etc/sudoers dosyasına ekleyebilirsiniz. Veya su - komutuyla root olun. Ardından terminali açın.

Continue Reading →

Öncelikle aşağıdaki komutları kullanarak depolarımızı güncelleyelim.

sudo apt update
sudo apt upgrade

Google Chrome, Debian deposunda mevcut değildir. Bu nedenle, wget komutuyla yazılımı Google’ın deposundan indirmek gerekiyor:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

Google Chrome’u tüm bağımlılıklarıyla yüklemek için aşağıdaki komutu çalıştırın:

sudo apt install ./google-chrome-stable_current_amd64.deb

Artık Google Chrome’u menüden ya da terminalde aşağıdaki komutu vererek başlatabiliirsiniz:

google-chrome

Herhangi bir nedenle, Google Chrome’u sonradan kaldırmak isteyebilirsiniz. Bu durumda:

sudo apt purge google-chrome-stable

komutunu kullanabilirsiniz. Google Chrome kaldırıldıktan sonra kalan paketleri silen ve boş bir alan sağlayan aşağıdaki komutu çalıştırmayı da ihmal etmeyin:

sudo apt autoremove

0

LLVM 9.0.0-RC1 duyuruldu

2000 yılında University of Illinois’de dinamik derleme ve performans optimizasyonları araştırmalarına yönelik olarak başlatılan ve C++ ile geliştirilen LLVM‘nin (Low Level Virtual Machine) 9.0.0 sürümün ilk sürüm adayı, sürüm yöneticisi Hans Wennborg tarafından duyuruldu. Wennborg; sürümün iyi göründüğünü söyledi, ancak, kullanıcıların tespit ettikleri hataları rapor etmelerini rica etti. University of Illinois/NCSA Lisansı ile açık kaynaklı olarak geliştirilen projeye özellikle Apple, Google, ARM, Sony ve Intel ciddi katkı sunuyor. Richard Stallman‘ın özgürlük konusunda yazılıma bir itirazı var. LLVM 9.0.0-RC1 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

LLVM 9.0.0-RC1 edinmek için projenin önsürümler sayfasına gidilebilir.

0

Linus Torvalds Linux disket sürücülerine elveda demeye hazırlanıyor

Linux yaratıcısı Linus Torvalds; 1991’de Linux’u yarattığında, onu ilkin disket sürücülü, bir 386 DX33 PC üzerine yüklemişti. Ancak Torvalds, şimdi, disket sürücü projesini “artık” olarak ilan ediyor ve duygusal olmadığını, artık veda vaktinin geldiğini söylüyor. Gerçekten de artık kimse onları kullanmıyor. Nitekim, disket sürücüsünden sorumlu Çek Linux çekirdeği geliştiricisi Jiří Kosina; sürücünün, “artık çalışan bir donanıma sahip olmadığını” söylüyor. Gerçekten de yıllar sonra, artık kimse kullanmadığı için ihtiyaç olmaktan çıkan disket sürücü için yolun sonu gelmiş bulunuyor.

Continue Reading →

Linus Torvalds’ın konuya ilişkin görüşlerini git.kernel.org ve github.com üzerinde yayımlanan yazılarda bulabilirsiniz.

0