業界No.1の実績!23日の短期で学ぶ就職/転職のためのプログラミングスクール「無料PHPスクール(Webプログラミング研修&就職・転職支援)」
【毎回12人限定】【IT/Web業界にエンジニアとして就職/転職したい、18~32歳限定(国籍・学歴・経験不問)】☆未経験歓迎!

無料PHPスクール⑰~7日目:ECサイト(shopping)

   

  • 「会員管理サイト(member)」に引き続き、総復習第二段です。リレーショナルデータベース(RDB)をメインに扱うことと、セッションというクライアントのリクエストを認識する技術を扱います。また、役割分担化されたMVC(Model View Controller)式のソースを扱います。無料PHPスクールでは「(フレームワークが使えるのは当然として)、フレームワーク自体を作れるようになって欲しい」という意味で、CakePHPやZend Framework、SymfonyなどPHPのフレームワークはあえて教えていませんが、ここで基礎となるMVCモデルを学びます。
  • ●画像などが表示されないなど、表示系のエラーの対処法
  • <原因>
    1.表示方法を定義している関数自体がおかしい
    2.関数に入れている引数がおかしい
  • <対処方法>
    1.定義している関数(select系)周りをチェックし、スペルミスや対応している括弧に間違いがないか調べる
    2.DBに接続できているのかを確認する(調べ方はboard4を参照)
  • ●PDODatabase.class
    ・データベースに接続⇒表示(取得)⇒SQL文を作成⇒データの挿入⇒データの更新
    ・try catch構文:異常が発生しそうな処理を記述する。case’mysql’case’pgsql’各SQL文について記述。
    try {A} catch {B} :Aの処理ができない場合はBの処理を行う。
    ・catch以降には例外の対応を記述する
    ・$dsn(データベースソースネーム):決まった書式がある
     PDOを利用してDBに接続する際は引数にdsnを指定する。dsnを引数にとる変数をdbh(dbcon)という。
    ・DBに対する命令文を書く際は大文字で記述する慣習がある(ex、SETNAME~)
    ・FETCH_ASSOCでカラム名に添え字(番号ふって)を付けて配列を返す(カラムはDBの縦欄。横欄はレコード)
    ・set~ get~関数はaccessorと呼ばれる関数。クラス内のプライベート変数にアクセスするための関数
  • ●Session.class
    ・セッションとはwebサイトに対するアクセス数の単位。
    ・セッション変数を所持することでページを移動してもデータを保持することができる。アクセスした時にIDが付与され、ブラウザが一定時間記憶する。session_idを記憶する部分がcookie。
    ・セッションで変数を持ち歩くことでサイト内を自由に行き来できる。
  • ●Cart.class.php
    ・cartにデータを挿入⇒cartの情報を表示⇒cartの情報を削除⇒合計金額の表示⇒合計個数の表示
    ・cart c LEFT JOIN item i ON c. item_id = i. item_id  :cartテーブルとitemテーブルを、共通するitem_idを基に繋げる
    ・PDODatabase.class内の「public function insert」は、Cart.class.phpの「public function insCartData」内の「$this->db->insert」と繋がる。
    ・「public function insCartData」は、cart.php内の「$cart->insCartData」に繋がっている。
  • ●関数
    ・array_merge :一つ、または複数の配列を合体させる(マージする)
    ・array_keys :配列のキー全て、またはその一部を返す
    ・array_values :配列の全ての値を返す
    ・function insCartData :誰が何を買ったのかを挿入する
    ・function getCartData :商品情報を取得
    ・function delCartData :削除
    ・function getItemAndSumPrice :個数と合計を取得
    ・SUM(i.price) AS totalPrice :アイテムテーブルの金額を計算して合計金額を出す

 - 学習アドバイス

  関連記事

  おすすめ記事