Kişisel web tasarım ve kodlama blogu. Web tasarımı ve kodlama araçları ile ilgili bilgiler ve yardımcı dökümanlar.

Kod yazmak sanattır...

gokhankr.com

Blogger tarafından desteklenmektedir.

PHP ile JSON olarak $_REQUEST(POST ve GET gibi) alma işlemi


JSON veri almanın en pratik ve hızlı yoludur. PHP, JSON nesnesi için encode ve decode özelliği sunar. Ancak veriyi application-json olarak doğrudan alma işlemi yapamazsınız. 

Bu yüzden $_GET ve $_POST üzerinden JSON standardı ile bir veri alımı yapamazsınız. Veriyi almak için PHP'nin I/O için sağlamış olduğu girişi kullanacağız.


file_get_contents('php://input')

Şimdi bunu biraz daha genişletelim ve gelen verinin JSON olduğunu varsayalım.


json_decode(file_get_contents('php://input'), true);

Yukarıdaki işlem bize JSON verisi geldiğinde veriyi alıp PHP Array'a çevirecek ve eğer gelen veri JSON olarak gelmezse de null olarak dönecek. Böylece bu işlemi artık bir Router üzerinde deneyebiliriz.


function getJSON()
{
    $jsonData = json_decode(file_get_contents('php://input'), true);
    return $jsonData ?? [];
}

Şimdi $_POST ve $_GET üzerinden veriyi aldığımız gibi getJSON() üzerinden de alma işlemini JSON olarak gerçekleştirebilirsiniz.

Eğer isterseniz veriyi $_POST veya $_GET üzerinden aldığımız gibi global olarak tanımlayıp kullanabiliriz de. Bunun için:


// index.php
$jsonData = json_decode(file_get_contents('php://input'), true);
$GLOBALS['_JSON'] = $jsonData;

//user.php
if (isset($_JSON['kullaniciGirisi'])) {
    /* ... */
}

Bu şekilde istek atılan sayfanızda $_GLOBALS tanımlayarak istediğiniz herhangi bir sayfada $_POST gibi de kullanabilirsiniz. "PHP ile JSON istek alma işlemi" ile ilgili detaylı anlatacaklarım bu kadardı. Teşekkürler.

Javascript "Computed Propery Name"


Javascript Computed Property Name

Computed Property Name

ES6’nın "Computed Propery Name" özelliği, bir nesnede bir özellik adı olarak hesaplanacak bir ifadeye (bir değişken veya işlev çağrısı gibi tek bir değerle sonuçlanan bir kod parçası) sahip olmanızı sağlar.

Örnek Kodlama

Örneğin, iki bağımsız değişken (anahtar, değer) alan ve bu bağımsız değişkenleri kullanarak nesne döndüren bir fonksiyon oluşturmak istediğinizi varsayalım. Nesnedeki özellik adı bir değişken (anahtar) olduğundan, önce nesneyi oluşturmanız, ardından bu özelliği değere atamak için köşeli ayraç gösterimi kullanmanız gerekirdi.


function nesneYap (key, value) {
  let obj = {}
  obj[key] = value
  return obj
}

nesneYap('name', 'Kaan') // { name: 'Kaan' }

Ama artık Computed Propery Name ile bir nesneyi önce oluşturmak zorunda kalmadan, doğrudan nesne üzerinde bir özellik olarak atamak için nesne değişmez gösterimini kullanabilirsiniz. Yani yukarıdaki kod artık bu şekilde yeniden yazılabilir.


function nesneYap (key, value) {
  return {
    [key]: value
  }
}

nesneYap('name', 'Kaan') // { name: 'Kaan' }

Anahtar, köşeli parantez [ ] içine alındığı sürece herhangi bir şey olabilir.