2011-12-30 42 views
1

我正在尝试构建基于REST的Web服务,该服务提供货币转换功能。基于PHP REST的Web服务提供货币转换功能

请注意,我是面向OO PHP的初学者,所以这对我来说都是新的和相当混乱的。

我想要的服务接收URL的编码为:

http://www.mysite.com/conv/?amnt=7.15&from=GBP&to=USD

,我希望它在浏览器中返回结果为XML消息。显然,处理错误也需要照顾。

我已经阅读了许多在线教程,并明白我将使用GET来实现我想要实现的功能。最让我困惑的是如何构建我的PHP文件(采用OO格式)以及如何在默认索引页面上实际输出这些结果。

回答

1

这是什么需要OOP在这里?

只有当它是一个自主教育的项目。我想你应该使用类似MVC模式,有大量的文档资料摆在那里,只是(here)翻译模型转换为面向对象的PHP类,并且不是把它变成某种方式是这样的:

  • 的lib/
    • 核心/ - 核心类,如控制器,请求,响应等
    • 赫普勒/ - 其中赫普勒的职能分配文件
  • 配置/ - 配置您的数据库连接,以及其他
  • 模型/ - 你OOP模型
  • 图/ - html模板
  • web/ - DOCUMENT_ROOT,其中c SS,JS,图片,和你的控制器接入点中的分配
  • 日志/ - 登录目录,如果你需要一个
  • 缓存/虽然,如果你需要。

为便于浏览,文件应该命名为* .class.php,如果有任何继承,它将是* .base.class.php或* .module.class。PHP

基本规则是:

每个文件
  • 一类
  • 如果您使用的命名空间(推荐),那么你建议立即进行删除以同样的方式作为namesapces分配文件,以方便自动加载( spl_register_autoload())
  • 独立的lib对每个功能

在你的索引文件中,只有3-4行,你在这里构建你的项目根类(控制器),然后在你的控制器内部处理请求,然后进入你请求的模块,然后进入视图,您的系统输出结果。

OOP在MVC框架中有很大的覆盖,如Symfony,你应该看看那里。

+0

谢谢。这在结构上有很大帮助。我也很困惑什么类需要我想要实现的。我想第一个类是检测它是否是GET请求,如果邮件编码正确,请运行货币转换函数。我该如何解决这个问题,以及如何将错误管理集成到那个中?对不起,我很新,所以原谅我的问题是多么的基本。 – tctc91 2011-12-30 16:18:10

+0

基本类必须是Controller(controller.class.php),Request(request.class.php),Response(response.class.php)。在入口点你应该创建$ controller = new Controller('index');在__construct()方法中,您需要初始化Request类的一个实例。会有一个方法,名称是($ type),它会给出问题的答案是什么类型的请求。 [如何](http://stackoverflow.com/questions/359047/php-detecting-request-type-get-post-put-or-delete),如果一切正常,将$ _GET var放在本地类存储中工作用。你也需要获得方法($ what),以获得参数。 – devdRew 2012-01-02 07:59:29

0

作为Restler(基于PHP的RESTful API服务器)框架的作者,我想建议您尝试Restler。它采用了不同的和更简单的方法,完全符合您的账单。它将您的类的公共方法公开为API。

BMI Example和其他活的例子应该让你在任何时间开始