1

ここでエラーが発生します..

$mail = new SendGrid\Mail();

この行は php 5.2 では機能しません。php 5.3 の後にスラッシュが入ってくることを読みました。

これをphp 5.2と互換性があるように修正するにはどうすればよいですか?

ありがとうございました。

4

4 に答える 4

3

SendGrid\Mailクラスが名前空間 (php >= 5.3 機能) を使用して実装されている限り、行を変更するだけの解決策はありません。

$mail = new SendGrid\Mail();

そのため、そのメール クラスを変更し、php 5.2 と互換性のないものをすべて削除する必要もあります。

于 2012-07-06T10:52:43.243 に答える
1

すべての名前空間を削除する必要があります。PHP 5.3 より前ではまったくサポートされておらず、解析エラーが発生します。

名前空間なしでクラスを宣言し、名前空間なしでそれらをインスタンス化する必要があります。これは、名前空間が提供する機能のいずれかを既存のコードで使用している場合 (クラス名の重複など) は、非常に重要な問題になる可能性があります。

于 2012-07-06T10:54:18.760 に答える
0

PHP 5.3+ のみと互換性のあるライブラリを使用しているようです (名前空間機能を使用)。

残念ながら、唯一の解決策は、インストールをアップグレードするか、名前空間機能を使用しない別のライブラリ (またはライブラリのバージョン) を使用することです。

SendGrid PHP ラッパーのリストについては、こちらを確認してください。PHP 5.2 と互換性のあるものを見つける必要があります。たとえば、これです。

他の回答で示唆されているように、現在のライブラリを変更して名前空間の使用を削除することもできます。ライブラリのサイズはかなり小さいので、試してみてください。

于 2012-07-06T10:53:21.487 に答える
0

ファイルを直接インクルードし、

$mail = 新しいメール();

しかし、おそらくこれよりも多くの問題が発生する可能性があり、別のライブラリを使用することをお勧めします。

于 2012-07-06T10:53:49.673 に答える