codeigniter
Codeigniter में API बनाएं
खोज…
परिचय
CodeIgniter ऑटो इनिशियलाइज्ड आउटपुट क्लास प्रदान करता है जो एपीआई और विभिन्न प्रकार के डॉक्यूमेंट आउटपुट जैसे .pdf, .csv, .image, आदि बनाने के लिए बहुत उपयोगी है ...
नोट: - कोडिग्निटर डिफॉल्ट डॉक्यूमेंट का प्रकार है HTML इसे एप्लीकेशन / जसन में बदलें, एपीआई को आवश्यक प्रकार का जस्सन होना चाहिए
API के साथ नया कंट्रोलर बनाएं
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Api extends CI_Controller {
//default value
private $login_credential;
function __construct() {
parent::__construct();
//for user authentication
$this->load->library('session');
//set page header type Json as default
$this->output->set_content_type('application/json');
//default credentials for user login
$this->login_credential = array(
'username'=>'admin',
'password'=>'test@123',
'email'=> '[email protected]'
);
}
}
?>
एपीआई से कुछ डेटा प्राप्त करें एपीआई नियंत्रक में निम्नलिखित फ़ंक्शन जोड़ें
/*****************************
@return all events
****************************/
public function getallevents(){
//get data from model
$events = array(
array('Event 1', '2015-04-03'),
array('Event 2', '2015-04-03'),
array('Event 3', '2015-06-16'),
array('Event 4', '2015-06-29'),
array('Event 5', '2015-07-04'),
array('Event 6', '2015-12-25'),
array('Event 7', '2016-01-01')
);
$this->output->set_output(json_encode(array('status'=>true,'events'=>$events)));
}
पर्टिकुलर उपयोगकर्ता के लिए कुछ निजी डेटा के उपयोग की अनुमति के लिए उपयोगकर्ता एपीआई में लॉग इन करें
/*****************************
login user
@required : username and password via post method only
@return user data if login successfull otherwise error message
****************************/
public function login(){
$username=$this->input->post('username');
$password=$this->input->post('password');
if($username && $password){
//check username and password
if($this->login_credential['username']==$username && $this->login_credential['password']==$password){
//set user data to store in session
$userdata = array(
'username' => $this->login_credential['username'],
'email' => $this->login_credential['email'],
'logged_in' => true
);
//set session
$this->session->set_userdata($userdata);
//display log in successfull msg
$this->output->set_output(json_encode(array('status'=>true,'msg'=>'log in successfully','data'=>$userdata)));
}else{
//wrong username or password
$this->output->set_output(json_encode(array('status'=>false,'msg'=>'invalid Username or password')));
}
}else{
//when username and password not set
$this->output->set_output(json_encode(array('status'=>false,'msg'=>'provide Username and password')));
}
}
उपयोगकर्ता लॉग इन के सत्र को नष्ट करने के लिए एपीआई लॉग आउट करता है
/***************************
log out user
***************************/
public function logout(){
//delete all session
session_destroy();
$this->output->set_output(json_encode(array('status'=>true,'msg'=>'log Out successfully')));
}
संरक्षित एपीआई बनाएँ
यह एपीआई सार्वजनिक उपयोगकर्ता के लिए सुलभ नहीं है, प्रमाणीकरण की आवश्यकता है
/***************************
this is protected api this is not accessible if you are not loged in
***************************/
public function protectedapi(){
if($this->session->userdata('logged_in')){
//this section only accessible when user loged in
$this->output->set_output(json_encode(array('status'=>true,'msg'=>'Access allowed')));
}else{
$this->output->set_output(json_encode(array('status'=>true,'msg'=>'Access denied')));
}
}
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow