line-bot-sdk-phpの導入方法(改)


composer.json

{
  "require" : {
    "linecorp/line-bot-sdk" : “1.1.0"
  }
},
"autoload": {
   "psr-4": {
     "LINE\\": “vendor/linecorp/line-bot-sdk/src"
   }
}

< 注意 >
SDKのバージョンを1.1.0と指定しないとFatal error: Class ‘Hoge’ not foundのエラーが出ることがあります。SDKのバージョンによって追加されたり削除されたりしているクラスがあるためです。
また、PHPのバージョンは5.6以上がインストールされていることを確認してください。


psr-4とは

名前空間とファイルの配置に関する規約。他にもpsr-0などがあるが、こちらは古いので現在はpsr-4を推奨。

パスは作成しているプロジェクトのファルの配置によって異なります。
わたしの場合は、

composer.json
public/
  index.php
vendor/
  autoload.php
  linecorp/
    line-bot-sdk/
    src/
      以下にSDKの中身


composer.jsonが記述できたら更新

$ composer install  // 初めて記述した場合
$ composer update  // 追加で記述した場合
$ composer dump-autoload  // autoloadだけを更新


実際のbotを制御するためのファイルでautoloadを読み込む

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$httpClient = new \LINE\LINEBot\HTTPClient\CurlHTTPClient('<channel access token>');
$bot = new \LINE\LINEBot($httpClient, ['channelSecret' => '<channel secret>']);

$textMessageBuilder = new \LINE\LINEBot\MessageBuilder\TextMessageBuilder('hello');

$bot->replyMessage('<replyToken>', $textMessageBuilder);

SDKによって hello と話すbotが完成しました。導入するまでが難しいですね…。

LINEの公式SDKのexampleを参考にしています。