در این سری آموزش فریمورک کدایگنایتر قصد داریم نحوه ی پیاده سازی Restful API توسط فریمورک کدایگنایتر را آموزش دهیم.
این آموزش برای افرادی مناسب است که نیاز به وب سرویس جهت اتصال به اپلیکیشن های مختلفی از طریق فریمورک کدایگنایتر را دارند.
با استفاده از این وب سرویس به راحتی میتوانید با فریمورک کدایگنایتر خروجی API برای اپلیکیشن های موبایل مثل اندروید یا IOS بگیرید.
برای اتصال یک اپلیکیشن موبایل به فریمورک کدایگنایتر نیاز است که یک وب سرویس مبتنی بر Restful بسازید که در این آموزش خدمت شما تقدیم خواهیم کرد.
در این آموزش یک rest api پیاده سازی خواهیم کرد که از متود های HTTP مثل GET, PUT, POST, DELETE استفاده خواهد کرد.
ما در این آموزش یک وب سرویس مبتنی بر restserver کدایگنایتر پیاده سازی خواهیم کرد.
برای یادگیری ساختن وب سرویس مبتنی بر restful api توسط کدایگنایتر ، قدم های زیر را مرحله به مرحله طی کنید.
در ابتدا برای پیاده سازی مثال نیاز داریم که جدول دیتابیس را بسازیم و کمی اطلاعات الکی وارد کنیم تا بتوانیم کدنویسی های خودمان را تست کنیم.
در ابتدا یک جدول به نام 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 api بسازیم به نام rest.php
این فایل را در مسیر application/config/rest.php بسازید و کدهای زیر را درونش بنویسید.
در این قدم قصد داریم کتابخانه های مورد نیاز را بسازیم . برای این کار دو فایل به نام های REST_Controller.php و Format.php در مسیر library کدایگنایتر بسازید.
پس یکی در این مسیر قرار میگیرد application/libraries/REST_Controller.php و کدهای آن درون یک فایل zip قراردادیم تا دریافت کنید. از اینجا دانلود کنید
یکی دیگر در مسیر application/libraries/Format.php قرار میگیرد و محتویات آن نیز درون یک فایل زیپ میتونید از اینجا دانلود کنید.
در این قدم قصد داریم کنترلر کدایگنایتر را ایجاد کنیم . برای این کار و نظم بیشتر یک فولدر درون فولدر 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 توسط کدایگنایتر
امیدوارم که این آموزش به دردتان خورده باشد.