這是我最近兩三周做的乙個post模組,從資料庫到後台,前台,資料庫設計和總體設計都已經給我了,我也參考了不少已有模組的**。剛開始7天,我用來實現post模組的增刪改查的基本功能,之後的時間,就是修改一些邏輯**,以及增添新功能,就像小結12裡面寫的ajax功能之類的。
先給出這個module的整個**框架吧:
列出來的**檔案就是我所用到的**,其中有些abstract為空,因為直接繼承了其他的類。
controller裡面就是主要的action,在設定了路由檔案之後,在controller裡面寫出相應的action,在action中完成對前台的傳參,設定相應的template等。
form裡面就是在需要輸入資料,新增資料時,所用的**,裡面有詳細的label引數,下圖就是基於postaddform的。
model就是資料庫中對應的引數,在這邊定義清楚。
table是對資料庫進行操作的各種方法,這邊參考了不少zend framework官網給出的db方法,不是很難。在action裡面通過gettable呼叫這些方法。
接下來就是相應的頁面檔案了。post資料夾中是大體的頁面框架檔案,具體的小檔案部分在ctrl中,基本可以傳個partial到post大頁面中去。
這邊我把controller裡面,兩個稍微重要的方法貼出來。貼多了,以後自己看,估計也不知所云。
public
function
postaction
() $page = $this->getrequest()->getquery('page', 1);
$condition = array();
$type_name = 'post';
if(isset($_get['post_status']) && $_get['post_status'] != 'null') else
if(isset($_get['query']))
else
if(isset($_get['category']))
else
if(isset($_get['author']))
else
$posts = $this->getposttable()->getpaginator($condition);
$posts->setitemcountperpage(10);
$posts->setcurrentpagenumber($page);
$vm = new viewmodel(array(
'post_paginator' => $posts,
));$vm->settemplate('post/post-index');
$this->layout()->selectedtab = 'post-list';
return
$vm;
}public
function
addpostaction
() $user_service = $this->getservicelocator()->get('userservice');
$table = $this->getposttable();
$config = $this->getservicelocator()->get('config');
$sm = $this->getservicelocator();
$request = $this->getrequest();
$form = new \post\form\postaddform(array(
'adapter' => $sm->get('zend\db\adapter\adapter'),
'user_service' => $user_service,
));$author_valid = true;
if($request->ispost())
else
$author = null;
foreach ($post
as$key => $value)
$post_array[$key] = $value;
}$post_array['author'] = $author;
if (is_null($post_array['author'])) else} }
在**中可以看出,關於是使用json陣列返回的,這是**庫里原來就封裝好的image element的返回值,感覺很方便。
估計接下來,還得繼續改改這個模組,剛開始做的時候,財哥跟我講這個,我覺得很抽象,根本想象不出來這個怎麼做,現在做出來,功能也都實現了,感覺蠻有成就感的,在部落格裡面算是紀念一下,這兩周來,這個module給我帶來的好壞心情吧。
IBM實習小結
來ibm實習已經有四個月了,有必要總結一下了。不得不承認ibm的硬體環境絕對一流,公司的環景相當不錯。但對於大連的ibm,怎麼說呢,感覺至少因該不適合我。現在在.com,工作只能用兩個字來形容,枯燥。雖然接觸到的是ibm挺牛的兩個平台,但畢竟我們只是使用。其間可能用到一些html的知識,但畢竟太少。...
實習小結2010 07 25
實習時間過的好快,一晃就半個月過去了,在盛大的實習感覺還不錯,學到許多有用的東西。從進盛大到現在一直在做mis的後台,這邊總結下mis中我使用的到技術 1.thrift 乙個很優秀的開源框架。可以用於不用語言間的程序間通訊,比webservice更加的高效和便捷。2.linux 訊息佇列 linux...
「半實習」小結
記得在 一次 半面試 漢得 中我是說過要來上海看看的。此時,我在上海,可能也是在上海的最後幾天了。當初面試後,可以說我就是抱著旅遊的心情來的 不過既然來了,就介紹以下漢得的環境吧。我們實習培訓的地方在張江高科,住的地方在邯鄲路,從地圖上看直線距離基本超過了上海的一半。每天在路上的時間要耗掉4小時。不...