# 藏书管理程序的结构
我们要开发的是一个主要供个人使用的藏书管理程序,该程序的实际运行版本见[“任氏有无轩”主页](http://www.rsywx.net/)。
这个应用主要提供了这样一些功能:
* 书籍列表:显示藏书的一个列表,提供关键字搜索、页数跳转、分页显示等功能;
* 书籍详细:显示某一本书籍的详细信息,并从豆瓣处抓取信息作为补充显示,提供添加个人TAG的功能(以便访客日后搜索);
* 读书心得:显示读书后写的心得(以博客文章形式呈现,牵涉到博客的整合,见以后的章节);
* 博客:使用的是[WordPress](https://wordpress.org/)作为博客平台,并对WordPress数据库进行查询并获得信息。
* 维客:使用的是[DokuWiki](https://www.dokuwiki.org/dokuwiki)作为维客平台,只是整合,不做进一步编程。
* 资源:比如我喜欢的湖人队的赛程。
* 联系:列出一些和站点主人的联系方法,包括Google Map的调用等。
* 首页:提供站点的接口。
* 后台:提供一个后台入口,以比较直观的方式来管理数据。
在首页中,对书籍信息需要进行汇总并显示,有一个Dart的部件将显示“每日引言”和“今日天气”信息,列出最近的博客文章等。这是所有页面中编程量最大的页面(没有之一),而且又是站点的入口,因此将首先加以深入研究。我们先给出一张我的站点的首页截屏,作为效果展示:
![](https://box.kancloud.cn/679f70f14f85cbd3e42623f0f1afa444_1004x1144.png)
- 引言
- 1 LAMP
- 1.1 安装虚拟机
- 1.2 安装Vagrant
- 1.3 安装Ubuntu
- 1.4 安装Apache 2
- 1.5 安装PHP
- 1.6 安装MySQL服务器
- 1.7 最后的微调
- 1.8 设置一个虚拟主机
- 1.9 一个趁手的IDE
- 2 Symfony 3和重要构件
- 2.1 Symfony 3
- 2.2 Doctrine
- 2.3 Twig
- 2.4 Composer
- 3 Symfony重要概念
- 3.1 MVC
- 3.2 Bundle/包
- 3.3 Route/路由
- 3.4 Controller/控制器
- 3.5 Entity/实体
- 3.6 Repository/仓库
- 3.7 Template/模板
- 3.8 Test/测试
- 4 藏书管理程序的结构
- 5 创建应用
- 5.1 建立版本管理
- 5.2 建立数据库
- 5.3 应用结构
- 5.4 建立数据库实体
- 5.5 样本数据
- 5.6 路由
- 5.7 模板
- 5.8 开始编写首页
- 5.9 书籍详情页面
- 5.10 书籍列表页面
- 5.11 书籍搜索
- 6 用户和后台
- 7 结语