愛がままに我がままに僕はYAMLを裏切らないの話
いや、普通にTVで流れていただけですw
昨今は平成の話のTVばかりでなんともなぁ〜
何て思う訳です
さてさて、今回は前回の続きです
バーコード(ASIN)によるデータ取得APIを作成するという話(2019年2月17日)
前回はStaticなWeb Page jqueryで書籍の内容を指定してやる方法を紹介してみました。
我ながらちょっと良い感じかな何て思いましたが、もう少し検討箇所はありますが、その辺りは読者の皆様の想像、妄想力に期待しましょう。
ヒントとしては、タグの内容に書いていると内容定義が難しいよね。
アトリビュートに入れると内容を組み込みやすいよね… 答えかw
今回の成果物を紹介します。
http://35.78.51.61/i_hasekura/
おすすめの支倉凍砂先生の書籍一覧です。
結構読んでないなwコミックもあるからだいぶと残っています。
きれいに表示出来ました。技術的にとソースを参照すると前回と同じです。
前回のソースをそのまま使いました。
タグ内にバーコード(ASIN)をカンマ区切りで入れると展開します。
そのバーコード(ASIN)をLaravelで動的に突っ込んでいます。
内容をYAMLファイルにて定義して作ってみました。
YAMLってのは…と言うサイトとLaravelでの紹介を兼ねるとこんな感じです。
https://symfony.com/doc/current/components/yaml/yaml_format.html
簡単に言うとファイル形式、CSVとかの親戚です!
YAMLファイルの内容を抜粋して下に書きます。
'狼と羊皮紙':
- 4048923560
- 404892754X
- 4048933388
- 4049122014
'WORLD END ECONOMiCA':
- 4048691120
- 4048693247
- 4048693255
'少女は書架の海で眠る':
- 4048692518
:の前、キー部分に書籍グループ(今回はシリーズ名)中の配列を指定しています。
HTMLに書籍グループとアプリ部分はLaravelのbladeだけで作ってみました。
個人的にはI/O関係は… Service… Repository部分で定義するのが良いとは思いますが、それは今後紹介します。
はじめに、Lravelプロジェクトを作成して… (略)
次に、Webアクセスのルートをindex.blade.phpに飛ばします
<?php
Route::get('/', function () {
return view('index');
});
https://github.com/wataru775/laravel_sample_yml_books/blob/master/routes/web.php
はい。’/’にアクセスしますとindexにviewって飛ばします。
次に、index.blade.php部分を紹介します
https://github.com/wataru775/laravel_sample_yml_books/blob/master/resources/views/index.blade.php
HTMLとjQuery部分は前回と同じです。重点部分を下に出します。
@foreach( \Symfony\Component\Yaml\Yaml::parseFile(database_path('books.yml'),\Symfony\Component\Yaml\Yaml::PARSE_OBJECT) as $title => $books)
<h3>{{ $title }}</h3>
<div class='row book_cover'>{{ join(',',$books) }}</div>
@endforeach
foreachは繰り返しです…
嘘です… そのレベルでしたら…
さて、「\Symfony\Component\Yaml\Yaml::PARSE_OBJECT」は、すみません。試行錯誤の後です。無くても良かったです
他の部分を紹介します
database_path('books.yml')
コレがファイルの場所を指定します。
プロジェクトのdatabaseディレクトリがあります!
の下にあるbooks.ymlファイルを取り出します。
storageとの差を考えましたが、databaseでしょうw
https://github.com/wataru775/laravel_sample_yml_books/blob/master/database/books.yml
ファイルが指定できたので、次にYAMLファイルを解析します。
\Symfony\Component\Yaml\Yaml::parseFile
SymfonyのYAMLファイルを読み取ります。
https://symfony.com/doc/current/components/yaml.html
https://medium.com/smallprogtips/parsing-yaml-files-in-laravel-5-bca2ead5242e
この辺りは結構参考になります。
今回は書籍一覧表示システムのYAMLファイルを用いた物を紹介してみました。
(Static系はこれ以上は難しいかな)
次回は動的な部分になると思います。
… どうしよう。ちょっとばっかり難しい部分が出るので、少し違うグループになるかな。とかとかとか、考えています
ぐうぉ〜〜〜
次回!