使用Web服务进行图像搜索

时间:2011-06-19 04:56:57

标签: php html oop

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

我根据代码的效率,可维护性,构思和清晰程度进行评分。

我完成了任务,但我认为它可以更好地进行优化,这些是我可能缺乏的点。

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

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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

首先,Flickr有一个API,我建议你检查一下。

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

您需要一个库来制作缩略图,您可以使用GD

快速完成

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

就分离代码而言,它可能不是一个坏主意。一个文件很好,如果它有几百行,但是如果你有很多事情,那么按照它们的功能来分隔文件并不会造成伤害(例如:scrape.php,resize.php等)。这主要是个人偏好。由于您在可维护性和清晰度方面被评分,我建议将其分解。

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

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

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

尝试将数据功能与演示文稿分开。使用类来构建页面,并调用另一个类来获取数据。这是非常普遍的建议,但在构建未来的应用程序时,您需要了解它。这不一定需要是完整的MVC,但是这些任务的分离将使代码更有意义。