技術メモ

楽天APIを使って書籍検索する機能をPHPLaravelで実装する!

こんにちは、プログラミング学習中のもも(@momo_programer)です🍀

 

さっそく楽天APIを自分で作ったアプリに入れていきたいと思います。

 

流れとしては、

 

まずは楽天APIのテストフォームで動かして、どんなデータが取得できるか見てみて、

 

次にPHPでプログラムを書き、動かしてみて、

 

最後にそれをもとにPHPLaravelで実装していきました。

 

ここではLaravelで実装したものを載せたいと思います。

 

LaravelアプリにAPIのもろもろの処理を書くルーティングを設定後、さきにblade.phpで原型となる検索フォームを作って、イメージを掴んでから、コントローラーに処理を書いていきました。

 

UserController.php

 

最初は参考にしていたPHPのサンプルコードを全部そのままUserControllerにぶち込んだのですが、笑

 

function execute_api()のところでエラーになり、書き方がいけないみたいで、

 

Controllerに移動させて、function execute_api()を呼び出す時($response_jsonを定義するとき)は、$this→execute_api()みたいにしたら上手くいきました。

 

Controller.php

blade.php

 

blade.phpでは最初は、!empty($keyword)の条件は入れてなくて、

 

でもそうするとブラウザで確認すると、オブジェクトhitsが取得できない的なエラーになってしまったので、

 

$keywordが空じゃない場合かつ$responseのhitsが0以上だった場合、下記の処理をする。

 

と言う感じにしたところ動きました!

 

最初に検索ページを表示するときは、これらの処理を無視させないといけないんですね。

 

無事に動かせることができました^^

 

ただ、まだ不十分な部分もあります。

 

①検索フォームに一度キーワードを入れて検索後に空文字で検索ボタンを押すとエラーになる

 

②最初に検索ページを表示すると、if文のelseが反応して「検索結果はありません」というのが表示されてしまう

 

①に関しては空文字検索された場合に「検索結果はありません」と表示できればOKですね。

 

②はキーワードが入ってない場合で、検索ボタンも押してない場合は、何も表示させないようにすればいいのかな?それか完全にシカトする様に処理することですよね。

 

ローカルで開発してるので、またこのあたりが解消できたらデプロイしていきたいですね。

 

ひとまず動いたことが嬉しかったのと、laravelで書いてるサイトが他に見つけられなかったので書いときました。

 

楽天アプリID取得の流れとかは省略してます。

ももの公式メールマガジン

プログラミングに興味がある人やプログラミング学習を始めた人のために、

とっても大切なマインドについて公開しています。

 

私が思うに、マインドが整っていれば、どんな手段から学べます。

 

無料で学習しても、プログラミングスクールで学習したとしても自分の力にしていけます。

 

でもマインドが整っていないと、せっかくプログラミングスクールにお金を払っても、うまくいかなくて泣く思いをしてしまいます。

 

そんな風になってほしくないから、メルマガを始めました。

 

詳細はこちらのページを覗いてみて下さい^^

COMMING SOON...

-技術メモ

Copyright© とある新人SEは、走らない。 , 2021 All Rights Reserved Powered by AFFINGER5.