我需要为php 5.2重写这个php行

时间:2012-07-06 10:50:19

标签: php

在这里收到错误..

$mail = new SendGrid\Mail();

这行在php 5.2中不起作用,我已经在php 5.3之后阅读了斜杠。

我怎么能解决这个问题与php 5.2兼容?

谢谢。

4 个答案:

答案 0 :(得分:3)

只要使用命名空间(php> = 5.3功能)实现SendGrid\Mail类 - 没有解决方案只能更改行

$mail = new SendGrid\Mail();

所以你还需要修改那个邮件类并删除所有php 5.2不兼容的东西

答案 1 :(得分:1)

您必须删除所有namespacing。在PHP 5.3之前根本不支持它,并且会导致解析错误。

您必须声明没有名称空间的类,并在没有名称空间的情况下实例化它们。如果您的现有代码使用命名空间为您提供的任何功能,这可能是非常重要的 - 例如重复的班级名称。

答案 2 :(得分:0)

看起来您使用的是仅兼容PHP 5.3+的库(使用命名空间功能)。

我担心唯一的解决方案是升级您的安装,或使用不使用命名空间功能的其他库(或库的版本)。

Check here for a list of SendGrid PHP wrappers。您应该找到一个与PHP 5.2兼容的版本,例如this one

您还可以尝试修改当前库以删除命名空间使用,如其他答案中所述。由于库大小很小,你可以尝试一下。

答案 3 :(得分:0)

直接包含文件

$ mail = new Mail();

但可能会有更多的问题,只有这一个,最好采取另一个库。