iT邦幫忙

DAY 22
0

初學laravel系列 第 22

鐵人賽 Day 22 Controller 簡易Restful 介紹

我們從最早之前到現在我們都把所有的程式寫在ROUTER中,

但是真正在做程式撰寫的時候這樣會造成路由的效能太差,

所以我們今天會將所有的程式收容進去Controller中,

在Laravel中我們可以使用一種簡易的Rest路由模式,

在裡面它可以使用get及post的前綴字加上要使用的路由名稱去達到,

例如我們今天有一個路由Insert他要使用get的方式去驅動,

那個函數名稱就會是getInsert這樣子,

首先我們一樣將Router打開,

加入以下的路由

Route::controller('messageC', 'MessageController');

我們再到app\controllers底下新增一個MessageController,

接著打開這個檔案,

我們參照以前的程式碼將所以的程式一個一個收容近來,

整個程式碼就如以下所示,

唯一有更動的地方就是在我們的列表的地方,

主要是因為路由的方式布一樣,

所以在做新增及刪除鈕的時候需要做更動,

以下就是今天我們將學的部分。

<?php

class MessageController extends BaseController {

public function getInsert()

{

//

//引入檔案

return View::make('message',array('message' =>"" ));

}

public function postInsert()

{

//

if (Input::has('title')&&Input::has('content'))

{

$title = Input::get('title');

$content = Input::get('content');

if(DB::insert('insert into message_list (title, content) values (?, ?)', array($title, $content))){

$message="新增成功";

}else{

$message="新增失敗";

}

}elseif(Input::has('title')&&!Input::has('content')){

$title = Input::get('title');

$content = null;

$message="請輸入訊息內容";

}else{

//

$message="請輸入標題及訊息內容";

}

return View::make('message',array('message' => $message));

}

public function getEdit($id)

{

$results = DB::select('select * from message_list where id=?',array($id));

foreach($results as $result){

$title =$result->title;

$content=$result->content;

}

return View::make('message',array('title' =>$title,'content' =>$content ));

}

public function postEdit($id)

{

//

if (Input::has('title')&&Input::has('content'))

{

$title = Input::get('title');

$content = Input::get('content');

if(DB::update('update message_list set title = ?,content=? where id = ?', array($title, $content,$id))){

$message="修改成功";

}else{

$message="修改失敗";

}

}elseif(Input::has('title')&&!Input::has('content')){

$title = Input::get('title');

$content = null;

$message="請輸入訊息內容";

}else{

//

$message="請輸入標題及訊息內容";

}

return View::make('message',array('message' => $message,'title' =>$title,'content' =>$content));

}

public function getDel($id)

{

//

//引入檔案

$results = DB::delete('delete from message_list where id=?',array($id));

return Redirect::to('message/list');

}

public function getIndex()

{

//$results = DB::select('select title from message_list ');

$message_list = DB::table('message_list')->paginate(5);

return View::make('listC',array('message_list' =>$message_list ));

}

}

?>


上一篇
鐵人賽 Day 21 查詢產生器 SELECT
下一篇
鐵人賽 Day 23 RESTFUL 產生器
系列文
初學laravel30

尚未有邦友留言

立即登入留言