使用Web服务进行图像搜索


Image search using webservices

我得到了一项使用flickr创建图像库的任务——这必须使用用户在表单中输入的关键字来完成,并且返回的图像库必须分页并每页显示一定数量的结果。库中的每个图像也必须是缩略图。

我根据代码的效率、可维护性、一致性和清晰性进行评分。

我已经完成了作业,但我认为它可以优化得更好,这些都是我可能缺少的地方。

  • 我所有的代码都在一个文件中(表单和库代码)-我应该把它分开吗
  • 我一点也不使用oo,有什么办法我可以在这里使用它吗
  • 我使用html长度和宽度调整缩略图大小

感谢您的帮助

这个问题非常宽泛,似乎你希望有人为你编写代码,我不会这么做,但我会帮助你指明正确的方向。

首先,Flickr有一个API,我建议你看看。

http://www.flickr.com/services/api/

你需要一个库来制作缩略图,你可以用GD快速做到这一点

http://php.net/manual/en/book.image.php

就分离代码而言,这可能不是一个坏主意。如果一个文件只有几百行,那就太好了,但如果你有很多事情要做,按文件的功能(例如scrape.php、resize.php等)分隔文件也没什么坏处。这主要是个人偏好。既然你是根据可维护性和清晰度来评分的,我建议你把它分解。

冒着引发火焰战的风险,我建议把它变成OOP。如果你想让它清晰易读,这会有很大帮助。将其分解为类和函数,并以合乎逻辑的方式对其进行分组,以便有人知道是否需要更改某些内容,他们很清楚从哪里开始。记录好它,这也会有所帮助。

我的建议是为每个函数创建一个类:

  • 从Flickr获取图片
  • 存储与图像相关的元数据
  • 调整图像大小
  • 从数据库中提取信息
  • 显示页面

尽量将数据函数与演示文稿分开。使用一个类来构建页面,并调用另一个类以获取数据。这是一个很一般的建议,但在构建未来的应用程序时,你需要知道这一点。这不一定需要是完整的MVC,但这些任务的分离将使代码更有意义。