SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Zend FrameworkでGoogleアプリケーションを使い倒す

PHPアプリケーションからGoogle Calendarを利用しよう(後編)

Zend FrameworkでGoogleアプリケーションを使い倒す(3)

  • X ポスト
  • このエントリーをはてなブックマークに追加

イベントの削除

 以下は、イベント削除にかかわるサンプルコードです。

 各イベントごとに表示された削除ボタンを作成し、作成ボタン押下時に削除確認をするページを表示させるところまでは、編集の時とほぼ同じ動作なので説明は割愛します。

[リスト18]index.php(抜粋)
// カレンダーリストごとに処理
foreach ($listFeed as $list) {
    // 取得したイベントの数だけループ
    foreach ($eventFeed as $event) {
        // htmlテーブルに取得した情報を表示
        echo "<form method='POST'>";
        echo "<td><button type='submit' name='deleteEvent'>削除</button></td>";
        echo "<input type='hidden' name='targetEventId' value='" . $eventId . "'>";
        echo "<input type='hidden' name='targetTitle' value='" . $title . "'>";
        echo "</form>";
    }
}

// 削除ボタン押下時の動作
}else if(isset($_POST['deleteEvent'])) {
    echo "<form method='POST'>";
    echo "<input type='hidden' name='targetEventId' value='" . $_POST['targetEventId'] . "'>";
    echo "<input type='submit' name='deleteYes' value='実行'>";
    echo "<input type='submit' name='cancel' value='キャンセル'>";
    echo "</form>";
}

// 削除に対して実行を押下時
} else if(isset($_POST['deleteYes'])) {
    // IDからイベントオブジェクトを取得
    try {
        $event = $serviceCal->getCalendarEventEntry($_POST['targetEventId']);
    } catch (Zend_Gdata_App_Exception $e) {
        echo "エラー: " . $e->getMessage();
    }

    // イベントをGoogle Calenderサーバから削除【 1 】
    $event->delete();
}

削除ページの実行ボタン押下時動作

 フォームから削除対象のイベントのIDを取得し、更新時同様イベントオブジェクトを生成します。

 イベントを削除する場合には、イベントオブジェクトであるZend_Gdata_Calendar_Eventdeleteメソッドを使用します。

[リスト19]index.php(抜粋)
// イベントをGoogle Calenderサーバから削除【 1 】
$event->delete();

 解説は以上になります。次のようなサンプルができたでしょうか。

図2:イベントの表示
図2:イベントの表示
図3:イベントの登録
図3:イベントの登録
図4:イベントの編集
図4:イベントの編集
図5:イベントの削除
図5:イベントの削除

まとめ

 いかがでしょうか。Zend_Gdata_Calendarについて解説を行いました。サーバデータを扱う基本的な動作である参照、新規登録、更新、削除について理解できたでしょうか。使用するクラス、メソッドは違えど、他のGoogleサービスのAPIにおいても同様の考え方でサーバ上のデータを扱うことができるようになります。

 次回はGoogle Document Listsを使用しましょう。これはファイルサーバのようなもので、サーバ上でドキュメントのアップロードやダウンロードを行うことができます。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Zend FrameworkでGoogleアプリケーションを使い倒す連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 森山 絵美(モリヤマ エミ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3886 2009/05/21 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング