PHPでCSVを使って商品管理システムを作成しよう①
こんにちは!
wordpressで今までブログを書いていたのですが、諸事情で無料ブログに切り替えていきたいと思います!
では、以前途中までまとめていたCSVを使って、デモの商品管理アプリを作成してみようってことをやっていこうと思います!
言語はPHPを使い、Twigというテンプレートエンジンを使用していきます。
処理は、CSVのデータ情報を表示、追加、編集、削除できるものとします!
こういうシステムはデータベースを使うのが主流だと思いますが、PHPでファイル操作してみようってことでこの条件でやっていきます!
この記事では、CSVのデータ情報を表示(商品一覧表示)することをやっていきます!
使用するCSV
下記の形式のCSVを使っていきます。
右から商品ID、商品名、価格、在庫数のデータとなっています!
ーーーーーーーーーーーーーーーーー
【csv/item.csv】
1,PC,90000,25
2,キーボード,5600,200
3,マウス,1500,500
ーーーーーーーーーーーーーーーーー
CSVからデータ取得
では、CSVのデータを配列で取得していきます!
こういったデータは、配列で取得するのが一般的だと思います。
下記がPHPでの処理のコードです。
ーーーーーーーーーーーーーーーーー
【index.php】
ーーーーーーーーーーーーーーーーー
テンプレートエンジンで表示部分作成
次にTwigというを使って表示部分を作成します。
Twigに関しては、時間ができたらまとめます!
というか過去にまとめたwordpress記事から移行します!
下記がテンプレートエンジンの処理です。
ーーーーーーーーーーーーーーーーー
【index.html.twig】
<!DOCTYPE html>
<html lang="ja">
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ message }}</h1>
<table border="1">
<tr>
<th>商品ID</th>
<th>商品名</th>
<th>金額</th>
<th>在庫数</th>
</tr>
{% for data in csvArray %}
<tr>
<td>{{ data.商品ID }}</td>
<td>{{ data.商品名 }}</td>
<td>{{ data.金額 }}</td>
<td>{{ data.在庫 }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
ーーーーーーーーーーーーーーーーー
テンプレートエンジンをクラスで呼び出す
他でも使いまわしができるようにテンプレートエンジンをPHPで呼び出す処理をクラス化しておきます!
下記がコードです。
ーーーーーーーーーーーーーーーーー
【class/templete.php】
ーーーーーーーーーーーーーーーーー
では、PHPで読み出してみます!
ーーーーーーーーーーーーーーーーー
【index.php】
ーーーーーーーーーーーーーーーーー
いったん動作確認
一通りの処理はできていると思うので、ここいらで動作を見ておこうと思います!
Xamppというアプリを使って、確認を行います。
Xamppの使い方は色々なサイトで紹介されているので、それらで参考にしてみてください!
下記のようになっていれば問題ないです!
CSVの処理をクラスにまとめる
ここまでで表示させることはできました。
しかし、まだ追加、編集、削除の機能が残ってますね。。
毎回毎回、処理を書いていくのも大変なので、CSVの処理をクラスでまとめてしまいましょう!
クラスのコードは下記のようになりました!
ーーーーーーーーーーーーーーーーー
【class/csv.php】
ーーーーーーーーーーーーーーーーー
呼び出し方は下記です。
先ほど書いたCSVの処理から置き換えておきます。
ーーーーーーーーーーーーーーーーー
【index.php】
ーーーーーーーーーーーーーーーーー
表示される画面が、一旦確認した画面と差異がなければOKです!
これでCSVのデータを表示させる機能は完成です。
次の記事からは、追加の機能をまとめていきます!