PHPマイクロフレームワークSlimで作るTwilioコールセンターシステム(2.環境設定:1.ライブラリインストール編)

こちらのページでも紹介していますが、Twilioを使ったアプリケーション(Webクライアント+コールフロー)を作成しました。

以下の本を読みまして、PHPマイクロフレームワークSlim、テンプレートエンジンTwig、ORマッパーilluminate/Eloquentを使って開発しています。入力値検証用にRespect/Validationも試用しています。

あとはフロントエンドにJQueryとBootstrap/Bootswatchを使っています。もちろん、Twilio-phpも使っています。

フォルダ構造は以下の通りとしました。詳細は別途。ルートは/var/www/html/runa-cca/というフォルダとします。

/var/www/html/runa-cca/
 |-composer.json ... Composer定義ファイル
 |-composer.lock ... Composerバージョンロックファイル
 |-create_table_for_Runa-CCA.sql ...テーブル定義・初期データ投入SQLファイル
 |
 |-htdocs ... 公開用ディレクトリ
 |   |-vendor ... 外部のライブラリ
 |       |-bootstrap ... bootstrap
 |
 |-lib ... 作成したクラスライブラリ
 |   |-Base ... 設定クラス置き場
 |   | 
 |   |-Controller ... コントローラクラス置き場
 |   |   |-CallFlow ... コールフロー毎のコントローラクラス置き場
 |   |
 |   |-Model ... モデルクラス置き場
 |   |   |-CallFlow ... コールフロー毎のモデルクラス置き場
 |   |
 |   |-Model ... ビュークラス置き場
 |
 |-templates ... 作成したテンプレートファイル
 |
 |-vendor ... ライブラリ(Composerでインストール)

まずは環境設定です。

そもそもの環境ですが、Macbook Pro Retina ME865J/AMAMPを動かしています。バージョンは3.0.3を使いました。なので、Apacheは2.2.26、PHPは5.5.10、MySQLは5.5.34になります。

その上で、PHPのパッケージマネージャであるComposerを使って、必要なライブラリをインストールします。
Composerの定義ファイルcomposer.jsonは以下の通り。

{
    "require": {
        
        "slim/slim" : "2.*",
        "slim/views" : "0.1.*",
        "slim/extras" : "2.0.*",
        "twig/twig" : "1.*",
        "illuminate/database" : "4.0.*",
        "Respect/Validation" : "0.5.*",
        "twilio/sdk": "dev-master"
        
    },
    "autoload": {
        "psr-0": {"": "lib/"}
    }
}

参照書籍の記載の通り、以下のようにしてComposerをダウンロードします。

$ cd /var/www/html/runa-cca/
$ php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /var/www/html/runa-cca/composer.phar
Use it: php composer.phar

composer.jsonをアップロードしておきます。Runa-CCAをディレクトリごとアップしておけばよいかと。
で、以下のコマンドを実行します。
composer.lockがある場合は、引数をinstallにすると、lockの内容を再現するようにインストールされます。

$ php composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing respect/validation (0.5.0)
    Downloading: 100%         

  - Installing slim/slim (2.4.3)
    Downloading: 100%         

  - Installing slim/views (0.1.2)
    Downloading: 100%         

  - Installing slim/extras (2.0.3)
    Downloading: 100%         

  - Installing twig/twig (v1.15.1)
    Downloading: 100%         

  - Installing nesbot/carbon (1.8.0)
    Downloading: 100%         

  - Installing illuminate/support (v4.0.10)
    Downloading: 100%         

  - Installing illuminate/container (v4.0.10)
    Downloading: 100%         

  - Installing illuminate/events (v4.0.10)
    Downloading: 100%         

  - Installing illuminate/database (v4.0.10)
    Downloading: 100%         

slim/slim suggests installing ext-mcrypt (Required for HTTP cookie encryption)
slim/views suggests installing smarty/smarty (Smarty templating system)
Writing lock file
Generating autoload files

#twilio/sdkは省略

これで、ライブラリがvendor配下にダウンロードされます。
続きはまた別途。

https://github.com/rutoru/Runa-CCA

Leave a Reply

Your email address will not be published.