私は Twilio アカウントを持っており、Drupal サイト用に大量のテキスト メッセージ モジュールを作成しています。モジュールの冒頭で、次のコードを使用して Twilio クライアントをセットアップしました。
$path = drupal_get_path("library", "twilio");
require($path . "twilio/Services/Twilio.php");
$accountSID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$authToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$client = new Services_Twilio($accountSID, $authToken);
$from = "xxxxxxxxxx";
myModule_submit() はデータベースに電話番号を照会し、上記の Twilio PHP ライブラリを介して送信します。Twilio サイト (http://www.twilio.com/docs/howto/sms-notifications-and-alerts) で同様のコードを使用しています。問題は、送信する SMS メッセージのフォームに入力して [送信] を押すと、次のエラー メッセージが表示されることです。
注意: 未定義の変数: myModule_submit() の client (/var/www/erosas/anysite.com/sites/all/modules/myModule/myModule.module の 128 行目)。注意: myModule_submit() で非オブジェクトのプロパティを取得しようとしています (/var/www/erosas/anysite.com/sites/all/modules/myModule/myModule.module の 128 行目)。注意: myModule_submit() で非オブジェクトのプロパティを取得しようとしています (/var/www/erosas/anysite.com/sites/all/modules/myModule/myModule.module の 128 行目)。
送信機能は次のとおりです。
function myModule_submit($form, &$form_state){
// Retrieve the values from the fields of the custom form
$values = $form_state['values'];
// Use Database API to retrieve current posts.
$query = db_select('field_data_field_phone_number', 'n');
$query->fields('n', array('field_phone_number_value'));
// Place queried data into an array
$phone_numbers = $query->execute();
$body = $values['sms_message'];
// Iterate over array and send SMS
foreach($phone_numbers as $number){
$client->account->sms_messages->create($from, $number, $body); // This is line 128
}
}
このサイトと Google で回答を検索してみましたが、Drupal に固有のものは何も見つかりませんでした。