دانشجوی کارشناسی نرم افزار - برنامه نویس php - توسعه دهنده وب - عضو تیم مدیریت سمی لرن - آهنگساز و پیانیست
کار با فایل های جی سون در php
در مقالات گذشته در رابطه با فایل های جی سون و اهمیت آن ها در کار با API ها و برنامه های تحت وب صحبت کردیم. حال میخواهیم بررسی کنیم که چطور با فایل های جی سون در زبان قدرتمند php کار کنیم.
چرا php ؟
همانطور که میدانید زبان پی اچ پی، ساختاری متناسب با توسعه وب دارد و تنها منظور ساخت این زبان نیز همین بوده است. در حال حاضر زبان قالب 83 درصد وب سایت های جهان می باشد. همچنین این زبان، زبان قالب CMS های وردپرس، جوملا و دروپال می باشد که در مقاله ای جدا به مبحث CMS ها خواهیم پرداخت.
فایل جی سون به عنوان ورودی
یکی از اساسی ترین و مهم ترین بخش های توسعه وب، کار با ورودی هاست. این ورودی ها میتوانند درخواست های http باشند و یا ورودی از فایل های لوکال یا محلی. دریافت این درخواست ها یا فایل های ورودی، روش های خاصی دارد که بسته به پروژه و سلیقه هر کس متفاوت است. این روش ها برای دریافت درخواست ها میتواند شامل متود های post و get باشد یا تابع file_get_contents باشد و یا... . به همین علت ما فرض میکنیم که فایل را دریافت کردیم و محتوای آن را که همان جی سون مورد نظر ما می باشد در یک متغیر تحت عنوان input ریخته ایم. برای اینکه مثال ما قابل فهم تر باشد، من از
تصویر فایل جی سونی که برای API تلگرام می باشد و در مقاله اصلی جی سون استفاده کردم مجددا استفاده می کنم.
بسیار خب. فرض میکنیم جی سون بالا را در یک متغیر تحت عنوان $input ریخته ایم. بهترین روشی که میتوانیم استفاده کنیم این است که این جی سون را دیکد کرده و تبدیل به یک آرایه بکنیم. برای این منظور زبان php تابعی تحت عنوان json_decode دارد که این کار را برای ما ساده میکند.
$input = file_get_contents("php://input");
$input_array = json_decode($input,true);
در قطعه کد بالا، در خط اول با استفاده از تابع file_get_contents ورودی را دریافت کردیم و در متغیر input ریختیم که همانطور که گفتم روش دریافت سلیقه ای است و البته بستگی به پروژه نیز دارد. در خط دوم متغیر جدیدی تحت عنوان input_array ایجاد کردیم و نتیجه حاصل از دیکد جی ورودی را در آن ریختیم. تابع json_decode در آرگومان اول خود ورودی را میگیرد. از این پس دسترسی به محتویات جی سون مورد نظر راحت شده است. در قطعه کد زیر، ما آیدی چت را در یک متغیر به نام chat_id میریزیم.
$chat_id = $input_array['message']['chat']['id']
ایجاد یک فایل جی سون در php
برای ایجاد یک جی سون در php دقیقا برعکس کار با ورودی عمل میکنیم. آرایه ای از نوع کلید-مقدار می سازیم و توسط تابعی تحت عنوان json_encode آن را تبدیل به جی سون میکنیم. در قطعه کد زیر میخواهیم یک جی سون ایجاد کنیم و دو مقدار name و address را در آن وارد کنیم
$array = [
"name" => "Alireza",
"address" => "No1 Street"
]
$json = json_encode($array);
حال در متغیر json، مقدار زیر را داریم
{
name: "Alireza",
address: "No1 Street"
}
مطلبی دیگر از این انتشارات
چه زبانی برای تخصص من لازم است؟ (بخش اول)
مطلبی دیگر از این انتشارات
بلاک چین چیست ؟
مطلبی دیگر از این انتشارات
معنی برخی از پرکاربرد ترین اصطلاحات دنیای کامپیوتر (بخش سوم)