I am fairly new to programming in php and learning as I go. I recently started using an MVC framework (codeigniter) and I am now trying to learn the use of RESTful web services.
What I have trouble understanding is how the REST services fit into the MVC framework.
I have a basic proposal building system where the user walks through several forms and at the end I gather that information and create a formatted pdf for them.
I am using the https://github.com/chriskacerguis/codeigniter-restserver REST library and what I have done so far is wherever the information needs to be saved, updated or deleted in the program I have written the endpoint for the api to do that here is an example:
class Proposal extends REST_Controller
{
function __construct()
{
// Construct the parent class
parent::__construct();
//load model
$this->load->model('proposal_model');
}
public function list_get()
{
// Users from a data store e.g. database
$system = $this->proposal_model->get_proposals();
json_encode($system);
$this->response($system, REST_Controller::HTTP_OK);
}
}
Here is the Model I am calling the data from:
Class proposal_model extends CI_Model
{
public function get_proposals() {
//get proposal fields for realted table
$sql = 'SELECT proposal_name,
customer_name,
date_purchased,
product_purchased
FROM proposals
WHERE 1';
$queryProposals = $this->db->query($sql);
return $queryProposals->result();
}
My main question is that it seems like the api endpoint replaces the controller, is this how it works? I am struggling a little bit to understand the flow of the architecture with RESTful services.
P.S I know the program I mentioned seems like it probably doesn't need the complication of REST but this is the first step in several programs which will all be using the same data source.