🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 书籍搜索 基于我们API的设置,该Web应用可以提供两种类型的搜索: * 根据书名的开始部分搜索; * 根据单一TAG进行搜索; 上一节中我们提到,书籍列表页面有两个功能没有完成,其中一个就是搜索书名。 对应的控制器方法如下: ~~~ public function searchAction(Request $req) { $q = $req->request->all(); $page = 1; $key = $q['key']; $uri = $this->get('router')->generate('book_list', array('page' => $page, 'key' => $key, 'type' => 'title')); return $this->redirect($uri); } ~~~ 这里我们需要注意的是,在搜索栏里输入的文字缺省被认为是书名的开始部分,也就是说,我们缺省认为我们按照书名搜索。 另外,搜索的过程其实并不搜索!我们只是根据当前情景构造了一个URI而已!这就是之前我们提到的`book_list`这个路由灵活性带来的好处了。而且,在此情形下,显示书籍列表的模板也可以被复用,而且在书名搜索模式(和TAG搜索)模式下,关键字在分页时不会被丢失。这是因为在构造所有相关的URI的时候,搜索类型和关键字都是被传递的。 至此,所有重要的前端页面都已经基本描述完毕。 笔者在此鼓励读者自行完成其它页面的构建。 下一小节我们开始讲述用户和后台的编写。