
シェア:
スタンダップ・コメディーの学位論文を持つ俳優の訓練を受け、ミートアップ・シーンを経てPHP開発に携わるようになった。技術について話したり書いたり、レコード・コレクションから変わったレコードを再生したり買ったりしています。
PHPでSMSメッセージを送信する
所要時間:1 分
この記事は2025年8月に更新されました。
このチュートリアルでは、できるだけ少ないPHP行数でSMSメッセージを送信します。第一に、生のスクリプトを使用し、第二に、最小限のウェブアプリケーションフレームワークを使用します。
前提条件
PHP 8.1 以上
コンポーザーパッケージ管理用
Vonage APIアカウント
このチュートリアルを完了するには、Vonage APIアカウントが必要です。
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
生のPHPでテキストを送信する方法
まず、新しいComposerプロジェクトを作成し、Vonage PHP SDKを取り込みます。コマンドラインを使って、以下を追加する:
mkdir vonage-sms
cd vonage-sms
composer initコンポーザーはあなたに一連の質問をします。私たちは最低限の努力しかしていないので、これらはすべてデフォルトのままで構いません。このプロセスで composer.jsonファイルが作成されます。これでVonage PHP SDKを追加できます:
composer require vonage/clientさて、スクリプトを作成しよう。
touch send-sms.php新しいPHPファイルを開き、Composerのオートロードが引き込まれていることを確認する:
<?php
require_once './vendor/autoload.php';
SMSを送信するには、3つのものが必要だ:
Vonage Dashboardから取得した認証情報一式
クライアントオブジェクト
送信するテキスト
これを踏まえて、最終的なコードの行を以下に示す:
$credentials = new \Vonage\Client\Credentials\Basic(YOUR_API_KEY, YOUR_API_SECRET);
$client = new Vonage\Client($credentials);
$message = new Vonage\Messages\Channel\SMS\SMSText(
YOUR_NUMBER,
'Vonage',
'Hello from Vonage!'
);
$client->messages()->send($message);必要な詳細を定数変数のプレースホルダーに差し込み、送信を押す:
Our SMS has been sent!
4行のコードはなかなか良い!第二の部分は、これを基本的なウェブ・フレームワークにプラグインして、上記のようにハードコーディングする代わりにメッセージをPOSTできるようにすることだ。
SMSを送信する方法。スリムフレームワーク
2つ目の例では スリム・フレームワークを使うので、Composer と一緒にインストールしてください:
composer require slim/slim:"4".*
composer require slim/psr72番目のコマンドは、SlimのPSR-7(Request Interface)実装をインストールします。テキストを含む JSON ボディの POST リクエストを受け取るルートを作成します。
以下に修正した send-sms.phpファイルです:
<?php
use Slim\Psr7\Request;
use Slim\Psr7\Response;
require_once '../vendor/autoload.php';
$app = \Slim\Factory\AppFactory::create();
$app->post('/send', function (Request $request, Response $response) {
$rawBody = $request->getBody()->getContents();
$requestData = json_decode($rawBody);
$text = $requestData->text;
$credentials = new \Vonage\Client\Credentials\Basic('232130c9', 's09IJad98fa0t9j09ad8fa90s');
$client = new Vonage\Client($credentials);
$message = new Vonage\Messages\Channel\SMS\SMSText(
YOUR_NUMBER,
'Vonage',
$text
);
$client->messages()->send($message);
$response->getBody()->write("Vonage sent this text!");
return $response;
});
$app->run();このコードを実行する代わりに、ウェブ・プラットフォームを使ってモッキングを行います。そのため、PHPの組み込みウェブサーバーを使って、コマンドラインから開発環境を起動します:
php -S localhost:8888 -t send-php.phpメッセージを送信するには、POSTリクエストを簡単に送信できるHTTPツーリングクライアントが必要だ。 インソムニアを選んだが Postmanを使うこともできるし、生のcURLリクエストを使うこともできる。
API Tooling is super helpful
結論
これで、メッセージテキストをサーバーに送信して処理を完了させるルートができた。もちろん、JSONペイロードにさらにキーを追加して、送信元と送信先の携帯電話番号を追加することもできる。ここから何かを作りたいですか?私たちの Laravelインテグレーションまたは、SymfonyでこのAPIを使ってメッセージを送信する方法をご覧ください。
質問や共有したいことがありますか?Vonageコミュニティ VonageコミュニティSlackまたは 開発者向けニュースレターでフォローしてください。 X(旧Twitter)YouTubeチャンネル YouTubeチャンネルビデオチュートリアルを購読する。 LinkedInのVonage開発者ページ開発者が学び、コミュニティとつながるためのスペースです。つながりを維持し、進捗状況を共有し、最新の開発者向けニュース、ヒント、イベントを把握してください!
その他のリソース
フェイルオーバーでPHPからSMSを送信する:カップケーキベーカリー



