آموزش کدایگنایتر ( سری سوم )

آموزش ساخت وب سرویس 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(&quotitems&quot, ['id' => $id])->row_array(); }else{ $data = $this->db->get(&quotitems&quot)->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 توسط کدایگنایترامیدوارم که این آموزش به دردتان خورده باشد.منبع : آموزش ساخت api وب سرویس کدایگنایتر