İnsanca okunabilir formatta hizmet bilgilerine erişebilmemizi sağlayan, şematik metin tabanlı bir veri temsili. API'lar web hizmetleri hakkında JSON'da yanıt alındığından, sunucu ve istemci arasında veri aktarımı için REST API'da yaygın olarak kullanılır.
Codeigniter CURL işlemlerini kullanan bazı noktalarda, geliştiriciler dizi biçiminde kayıt gruplarını toplamak için JSON formatında web verilerini ayıklar.
JSON öncelikle iki parçaya, yani anahtarlara ve değerlere dayanır. Birlikte anahtar / değer çifti adı verilen bir ikili oluştururlar. Anahtarları tanımlamak, tırnak işaretleri içine alınmış bir dizedir. Değerler dize, sayı, dizi, Boole ifadesi veya herhangi bir nesne olabilir. Birlikte, anahtarın bir kolon ve bir değer tarafından izlendiği özel bir sözdizimi oluştururlar.
JSON, JavaScript'ten gelmesine rağmen, neredeyse tüm programlama dilleri tarafından doğal olarak veya özel kitaplıklar kullanılarak desteklenir.
Veritabanlarındaki desteğini detaylandıran JSON, MySQL, PostgreSQL, MariaDB ve diğerleri gibi birçok ilişkisel veritabanı tarafından desteklenmektedir.
MongoDB, Neo4J, HBASE gibi NoSQL veritabanları da JSON'u destekliyor ancak biraz farklı bir şekilde. MongoDB, veri aktarımı için JSON'un değiştirilmiş bir ikili sürümünü kullandığı için.
Bu makalede, Codeigniter CURL kütüphanesi kullanılarak posta yoluyla JSON yanıtlarının nasıl gönderileceğini göstereceğim. Bu kütüphaneyi kullanmanın temel amacı, CURL taleplerinin etkili bir şekilde ele alınmasına yardımcı olmasıdır.
İlk olarak, CURL kütüphanesini Codeigniter-cURL'nin github deposundan kurmanız ve /application/libraries/Curl.php içine yerleştirmeniz gerekir.Geliştiricilerin CURL işlemlerini gerçekleştirmelerini kolaylaştıran tipik bir Codeigniter kütüphanesidir.
Yüklemeyi tamamladıktan sonra, aşağıdaki komutu kullanarak CURL kitaplığını yükleyin:
$this->load->library('Curl');
$this->load->library('Curl');
$url = 'http://your-domin.com/';
$formatJsondata = array(
'username' => 'kullanıcı adı',
'password' => 'şifre doğrulaması'
);
$encodedJsonData = json_encode($formatJsondata);
$this->curl->create($url);
$this->curl->option(CURLOPT_HTTPHEADER, array('Content-type: application/json; Charset=UTF-8'));
$this->curl->post($encodedJsonData);
echo $result = $this->curl->execute();
$ this-> load-> kitaplığı ('Curl') → Curl kütüphanesini yükleyin
$ formatJsondata = dizi () → JSON verileri
$ encodedJsonData = json_encode ($ formatJsondata) → Diziyi JSON olarak kodlayın
CURLOPT_HTTPHEADER → özel Http üstbilgisini ayarlayın ve sunucu ve proxy Http isteğini iletmek için işaretçiyi bağlı listeye geçirin.
$ this-> curl-> post ($ encodedJsonData) → Post - Posta kullanmazsanız, sadece bir GET isteği
execute () → $ sonuçta yanıtı döndür
Class MY_Loader extends CI_Loader {
public $_json_array = array();
public function __construct() {
parent::__construct();
$this->ci = & get_instance();
}
public function view($view, $vars = array(), $return = FALSE) {
$format = $this->ci->input->get('format');
if($format == 'json') {
$this->ci->_json_array[$view] = $vars;
$this->ci->output->set_output(json_encode($this->ci->_json_array, JSON_NUMERIC_CHECK));
}else {
parent::view($view, $vars, $return);
}
}
}
Çıkış dizisi, ana sayfanın tüm görünümleri yüklendiğinde, sayfanın tüm parametrelerini tamamıyla ayarlar.
Şimdi, çıkışı Codeigniter denetleyicisinin display_override kancasını kullanarak JSON biçiminde göstermemiz gerekiyor. Bu durumda, çıktıyı web'de görüntülemek için kendi yönteminizi kullanabilir veya ayrıca JSON verilerini talep ettiği API'ye gönderebilir.
Web üzerindeki Codeigniter JSON biçimindeki çıkışı görüntülemek için, hooks.php dosyasını açın ve bunun içinde ekranda geçersiz kılma için bir kanca oluşturun:
defined('BASEPATH') OR exit('No direct script access allowed');
class Formatting{
function __construct(){
$this->ci = &get_instance();
}
function convert_html_to_json(){
if(!empty($this->ci->output->get_output())){
echo $this->ci->output->get_output();
}else{
echo NULL;
}
}
}