Codeigniter là một framework PHP mạnh và đơn giản cho việc phát triển các ứng dụng web. Có nhiều tình huống mà các ứng dụng nền tảng Web cần giao tiếp với các ứng dụng khác trên nền web, và khi đó chúng ta cần dùng RESTful API. Nếu ứng dụng web của bạn có dùng API thì ứng dụng có thể dễ dàng giao tiếp với các ứng dụng khác, bởi vì API hiện là một phần quan trọng trong các ứng dụng trên nền web.
REST API là gì ?
Chúng ta…
Codeigniter là một framework PHP mạnh và đơn giản cho việc phát triển các ứng dụng web. Có nhiều tình huống mà các ứng dụng nền tảng Web cần giao tiếp với các ứng dụng khác trên nền web, và khi đó chúng ta cần dùng RESTful API. Nếu ứng dụng web của bạn có dùng API thì ứng dụng có thể dễ dàng giao tiếp với các ứng dụng khác, bởi vì API hiện là một phần quan trọng trong các ứng dụng trên nền web. REST API là gì ? Chúng ta biết REST viết đầy đủ ra là Representational State Transfer. REST API là dạng dịch vụ web sử dụng các phương thức khác nhau của HTTP như POST, PUT, GET và DELETE để trao đổi dữ liệu trên nền tảng web. Bây giờ, chúng ta đang tự hỏi tại sao cần phải thực hiện API cho các ứng ụng web ? Nếu bạn tạo API cho ứng dụng của bạn, thì bạn có thể dễ dàng tạo ra ứng dụng di động cho ứng dụng web của bạn. Bởi vì, trong ứng dụng di động, bạn cần phần gửi và nhận dữ liệu thông qua việc dùng API. Một cái lợi khác của việc thực hiện các dịch vụ web qua REST API, bạn có thể phát triển ứng dụng web và di động thông qua việc dùng chung cơ sở dữ liệu và bạn có thể lấy data từ cả ứng dụng web và ứng dụng di động cùng 1 lúc. Vì thế, đây là lợi ích quan trọng trong việc phát triểu API cho ứng dụng web của bạn. Trong bài viết này, chúng tôi sẽ chia sẻ các cách thức để tạo ra restful web services với framework CodeIgniter 3. Chúng ta sẽ tạo ra REST API trong CodeIgniter sử dụng hoạt động CRUD: Insert, Update Delete, Create dữ liệu mysql. Bài viết này, chúng tôi sẽ không sử dụng bất kỳ thư viện CodeIgniter nào để thực hiện CRUD RESTful API, mà chỉ tạo CRUD API thủ công. Bạn có thể đi theo quy trình thực hiện từng bước bên dưới để thực hiện CRUD API trong CodeIgniter. + Tạo Table TẠO BẢNG Đầu tiên, chúng ta cần phải tạo bảng trong cơ sở dữ liệu MySQL. Ta chạy code SQL trong phpmyadmin, sẽ tạo ra bảng tbl_sample như sau: KẾT NỐI CƠ SỞ DỮ LIỆU Khi bạn tạo ra bảng trong cơ sở dữ liệu mysql xong, bạn vào trong CodeIgniter, mở mục application/config/database.php và chỉ định cho nó cấu hình database mysql. TẠO API CONTROLLER Bây giờ, chúng ta cần phải nắm cách nào để tạo dịch vụ web RESTful API trong codeigniter. Vì vậy, đầu tiên, chúng ta cần phải tạo ra 1 API controller để gửi và nhận API HTTP request. Class này sẽ nhận các HTTP request để gửi data ở định dạng Json và nhận về dữ liệu thông qua việc sử dụng các HTTP request khác nhau. Trong class này, chúng ta tạo ra các phương thức để thực hiện các HTTP request. application/controllers/Api.php Trong Controller trên, có các phần cần chú ý như sau: __construct() : Đây là hàm cấu trúc, thực thi khi đối tượng của class được tạo ra và nó sẽ nạp API model và thư viện codeigniter.
+ Kết nối CSDL
+ Tạo API Controller
+ Tạo API Model
+ Tạo Test API Controller
+ Tạo View file trả kết quả.
--
-- Database: `testing`
--
-- --------------------------------------------------------
--
-- Table structure for table `tbl_sample`
--
CREATE TABLE `tbl_sample` (
`id` int(11) NOT NULL,
`first_name` varchar(250) NOT NULL,
`last_name` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Indexes for dumped tables
--
--
-- Indexes for table `tbl_sample`
--
ALTER TABLE `tbl_sample`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tbl_sample`
--
ALTER TABLE `tbl_sample`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
<?php
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'testing',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
?>
load->model('api_model');
$this->load->library('form_validation');
}
function index()
{
$data = $this->api_model->fetch_all();
echo json_encode($data->result_array());
}
function insert()
{
$this->form_validation->set_rules("first_name", "First Name", "required");
$this->form_validation->set_rules("last_name", "Last Name", "required");
$array = array();
if($this->form_validation->run())
{
$data = array(
'first_name' => trim($this->input->post('first_name')),
'last_name' => trim($this->input->post('last_name'))
);
$this->api_model->insert_api($data);
$array = array(
'success' => true
);
}
else
{
$array = array(
'error' => true,
'first_name_error' => form_error('first_name'),
'last_name_error' => form_error('last_name')
);
}
echo json_encode($array, true);
}
function fetch_single()
{
if($this->input->post('id'))
{
$data = $this->api_model->fetch_single_user($this->input->post('id'));
foreach($data as $row)
{
$output['first_name'] = $row["first_name"];
$output['last_name'] = $row["last_name"];
}
echo json_encode($output);
}
}
function update()
{
$this->form_validation->set_rules("first_name", "First Name", "required");
$this->form_validation->set_rules("last_name", "Last Name", "required");
$array = array();
if($this->form_validation->run())
{
$data = array(
'first_name' => trim($this->input->post('first_name')),
'last_name' => trim($this->input->post('last_name'))
);
$this->api_model->update_api($this->input->post('id'), $data);
$array = array(
'success' => true
);
}
else
{
$array = array(
'error' => true,
'first_name_error' => form_error('first_name'),
'last_name_error' => form_error('last_name')
);
}
echo json_encode($array, true);
}
function delete()
{
if($this->input->post('id'))
{
if($this->api_model->delete_single_user($this->input->post('id')))
{
$array = array(
'success' => true
);
}
else
{
$array = array(
'error' => true
);
}
echo json_encode($array);
}
}
}
WIFI MARKETING CHO CÁC NHÀ HÀNG SAU ĐẠI DỊCH COVID-19 - PHẦN 1
Mô hình SEO Silos xây dựng ra sao - Phần 1
Ebook HƯỚNG DẪN THIẾT KẾ WEBSITE WORDPRESS
CÁCH KIỂM TRA WEBSITE CÓ BỊ BLACKLIST HAY KHÔNG
XỬ LÝ SỰ CỐ KHI WEBSITE BỊ NGHI NGỜ HOẶC BỊ LIỆT VÀO DANH SÁCH ĐEN
QUY TẮC CHỌN 1 OPT-IN HIỆU QUẢ
CÁC CÁCH THỨC GIA TĂNG TỶ LỆ CHUYỂN ĐỔI CHO LANDING PAGE NĂM 2020
6 SỰ THUẬT BẠN CẦN PHẢI BIẾT ĐỂ CHẾ NGỰ THƯƠNG MẠI ĐIỆN TỬ TRONG NĂM 2020
CORE WEB VITALS – CHỈ SỐ THIẾT YẾU CỦA WEB: CÁC YẾU TỐ XẾP HẠNG CHÍNH THỨC CỦA GOOGLE
CÁC CÁCH THỨC XÂY DỰNG CONTENT MARKETING HIỆU QUẢ - PHẦN 2
CÁC KẾ HOẠCH XÂY DỰNG CONTENT MARKETING - PHẦN 2
CÁC CHIẾN THUẬT XÂY DỰNG NỘI DUNG MARKETING
TẠO 1 RESTFUL API TRONG CODEIGNITER
CÁCH ĐỂ PHÁT HIỆN VÀ XÓA BỎ CÁC SPAM HACK CHO WEBSITE WORDPRESS
36 TIỆN ÍCH CHROME (CHROME EXTENSIONS) HỮU ÍCH CHO SEOs - PHẦN 1
SEO NĂM 2020: NHỮNG ĐIỀU CƠ BẢN BẠN CẦN BIẾT ĐỂ CÓ THỂ THÀNH CÔNG
BÀI 1- TỪNG BƯỚC ĐỂ TẠO 1 REST API ĐƠN GIẢN BẰNG PHP
5 CÁCH THỨC ĐỂ KIẾM TIỀN TRÊN 1 BLOG NĂM 2020 – LỜI KHUYÊN TỪ 1 BLOG THỰC SỰ ĐÃ KIẾM ĐƯỢC TIỀN
Thiết kế bởi @Webdeponline.vn | Tags: Website chuẩn SEO, giá rẻ, giao diện đẹp, website giá 1 triệu đồng