آموزش کدایگنایتر ( سری سوم )
آموزش ساخت وب سرویس restful api در فریمورک کدایگنایتر
در این سری آموزش فریمورک کدایگنایتر قصد داریم نحوه ی پیاده سازی Restful API توسط فریمورک کدایگنایتر را آموزش دهیم.
این آموزش برای افرادی مناسب است که نیاز به وب سرویس جهت اتصال به اپلیکیشن های مختلفی از طریق فریمورک کدایگنایتر را دارند.
با استفاده از این وب سرویس به راحتی میتوانید با فریمورک کدایگنایتر خروجی API برای اپلیکیشن های موبایل مثل اندروید یا IOS بگیرید.
برای اتصال یک اپلیکیشن موبایل به فریمورک کدایگنایتر نیاز است که یک وب سرویس مبتنی بر Restful بسازید که در این آموزش خدمت شما تقدیم خواهیم کرد.
در این آموزش یک rest api پیاده سازی خواهیم کرد که از متود های HTTP مثل GET, PUT, POST, DELETE استفاده خواهد کرد.
ما در این آموزش یک وب سرویس مبتنی بر restserver کدایگنایتر پیاده سازی خواهیم کرد.
برای یادگیری ساختن وب سرویس مبتنی بر restful api توسط کدایگنایتر ، قدم های زیر را مرحله به مرحله طی کنید.
قدم ۱ − ساختن جدول items در دیتابیس
در ابتدا برای پیاده سازی مثال نیاز داریم که جدول دیتابیس را بسازیم و کمی اطلاعات الکی وارد کنیم تا بتوانیم کدنویسی های خودمان را تست کنیم.
در ابتدا یک جدول به نام items میسازیم که از طریق کدهای کوئری زیر قابل ساخت میباشد :
CREATE TABLE IF NOT EXISTS `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=
قدم ۲ − ساخت فایل تنظیماتی rest.php
در این قدم ما نیاز داریم که یک فایل تنظیماتی برای rest api بسازیم به نام rest.php
این فایل را در مسیر application/config/rest.php بسازید و کدهای زیر را درونش بنویسید.
قدم ۳ − ساخت فایل های کتابخانه ( codeigniter library )
در این قدم قصد داریم کتابخانه های مورد نیاز را بسازیم . برای این کار دو فایل به نام های REST_Controller.php و Format.php در مسیر library کدایگنایتر بسازید.
پس یکی در این مسیر قرار میگیرد application/libraries/REST_Controller.php و کدهای آن درون یک فایل zip قراردادیم تا دریافت کنید. از اینجا دانلود کنید
یکی دیگر در مسیر application/libraries/Format.php قرار میگیرد و محتویات آن نیز درون یک فایل زیپ میتونید از اینجا دانلود کنید.
قدم ۴ − ساخت کنترلر مربوط به API کدایگنایتر
در این قدم قصد داریم کنترلر کدایگنایتر را ایجاد کنیم . برای این کار و نظم بیشتر یک فولدر درون فولدر controllers کدایگنایتر بسازید و نام آنرا api قرار دهید و سپس درون این فولدر یک فایل پی اچ پی جدیدی به نام Item.php بسازید که قرار است کنترلر ما باشد.
مسیر این فولدر و فایل باید به شکل application/controllers/api/Item.php باشد.
<?php
require APPPATH . 'libraries/REST_Controller.php';
class Item extends REST_Controller {
/**
* Get All Data from this method.
*
* @return Response
*/
public function __construct() {
parent::__construct();
$this->load->database();
}
/**
* Get All Data from this method.
*
* @return Response
*/
public function index_get($id = 0)
{
if(!empty($id)){
$data = $this->db->get_where("items", ['id' => $id])->row_array();
}else{
$data = $this->db->get("items")->result();
}
$this->response($data, REST_Controller::HTTP_OK);
}
/**
* Get All Data from this method.
*
* @return Response
*/
public function index_post()
{
$input = $this->input->post();
$this->db->insert('items',$input);
$this->response(['Item created successfully.'], REST_Controller::HTTP_OK);
}
/**
* Get All Data from this method.
*
* @return Response
*/
public function index_put($id)
{
$input = $this->put();
$this->db->update('items', $input, array('id'=>$id));
$this->response(['Item updated successfully.'], REST_Controller::HTTP_OK);
}
/**
* Get All Data from this method.
*
* @return Response
*/
public function index_delete($id)
{
$this->db->delete('items', array('id'=>$id));
$this->response(['Item deleted successfully.'], REST_Controller::HTTP_OK);
}
}
حالا میتوانید نتیجه ی کدهای زیر را میتوانید به شکل اسکرین شات های زیر مشاهده کنید :
Item List API :
Item Create API :
Item Show API :
Item Update API :
Item Delete API :
اتمام آموزش ساخت وب سرویس مبتنی بر Restful Api توسط کدایگنایتر
امیدوارم که این آموزش به دردتان خورده باشد.
مقالات دیگر مرتبط با این مقاله ی آموزشی :
آموزش کدایگنایتر ( سری دوم ) - آموزش ساخت ثبت نام و ورود با codeigniter آموزش کدایگنایتر ( سری اول ) ساخت سایت با کدایگنایتر ، کوچک ولی قوی تحلیل دوره ی پروژه محور ساخت سایت و اپ مارکت بازار با سورس کامل کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پیدوره های آموزشی مرتبط با این مقاله :