:: ドットインストールのPHPレッスン応用編のメモ書き

/ , / WEB制作・開発

WordPressでブログを運営しているにも関わらず、phpに関しての理解がイマイチだと自分で思ったことと、開発スピードを上げるために今の自分の知識以上の情報がほしかったのでよく利用するドットインストールさんの動画で応用編の内容をメモ書き。別ページで基本編も用意します。

phpmyadminを使ったデータベースの操作は:: phpmyadminを使ったMYSQLのSQL構文の入門編メモ書きで説明しています。

P.S ドットインストールさん、いつもありがとうございます。とっても勉強になっています!!

   

 

 

データベース

150406_photo001

 

DB接続のプログラム

 

Exception (例外) とは

プログラミング言語には「Exception (例外)」という「異常な事態を上位のプログラムに伝えるための機構」が備わっているものが多い。

$dbh = new PDO( … ); の部分では、データベースに接続できないといったエラーが発生したときに PDOException という例外が発生する。

 

try … catch とは

その例外の発生を検知するために try … catch という構文が必要になる。

もし try … catch を使わずに書くと、例外が発生した時にそれを補足できず、「Uncaught Exception …」つまり「Exception (例外) が catch されなかった」という致命的なエラーが発生し、プログラムが異常終了しましまう。(いきなり画面が真っ白、とか。)

そのような事態にならないよう、例外が発生する可能性のある処理に対しては、きちんと try … catch 構文を使ってエラー処理をおこなう必要がある。

 

 

データを全件表示する

実行結果: string(6) “tanaka” string(6) “suzuki” 2records found

※fetchAll: (全データを配列に変換)
※PDO: Php Date Objectの略。PDO::FETCH_ASSOC以外にもたくさんある。詳しくはWeblioを参照

 

 

データの挿入

複雑なSQLを書く場合にはプリペアードステートメントを利用することが推奨されている。

プレースホルダーを?とした場合の書き方

※(?,?,?)はプレースホルダーと呼ばれる

 

分かりやすいプレースホルダーを使った書き方

 

プリペアードステートメントとbindParamを使ったデータ挿入方法

※bindParamとは、(':name', $name, PDO::PARAM_STR) のように、一個目で :name のように与えたパラメータを指定。2個目に、それに入れる変数を指定します。bindParam には直接数値を入れれない変数のみです。3個目で型を指定。PDO::PARAM_STR は「文字列だよ」って事。

 

 

データの更新・削除

更新処理

 

削除処理

 

 

cookieを使う

cookieとはブラウザにデータを保存する仕組み。

setcookie(‘userName’, ‘tanaka’, time()+60*60*24*14); // 第3引数で有効期限を指定する。
setcookie(‘userName’, ”, time()-60); // 第3引数で-を指定するとcookieを削除する
echo $_COOKIE[‘userName’]; // COOKIEのセット

※第3引数が空の場合はブラウザを閉じたタイミングで削除される。上記のケースでは「60秒*60分*24時間*14日 = 2週間」となる

 

 

セッションを使う

セッションとは、サーバー側にデータを保存する仕組み

session_start();

$_SESSION[‘userName’] = “tanaka”; // セッションのセット
unset($_SESSION[‘userName’]); // unsetでセッションの削除

echo $_SESSION[‘userName’]

 

 

クラスを使う

オブジェクト指向の概念

クラス: オブジェクトの設計図
– メンバー変数
– メソッド(関数)
– コンストラクタ

インスタンス: クラスを実体化したもの

 

※thisとはクラス内で定義されたメンバー変数やメソッドにアクセスすることができる
※publicだとどこからアクセスされてもOK (実態化された後でも呼ぶことができる)
※privateだと実態化したあとに呼ぶことはできない

 

 

クラスを継承してサブクラスを作る

似たようなオブジェクトだが、1つをユーザから拡張したメソッドを使いたい場合などに使える。
継承クラスを作る場合は、「class クラス名 extends 継承元クラス名」で作ることができる。

※protectedを使うと、Userクラスでも使えるし、継承されたSuperUserクラスでも呼び出すことができる

 

 

ファイルを分割する

ファイルが長くなってきた時に別のファイルで分割する方法。

 

その他の読み込み方法とその違い

SNS SHARE

RELATED POSTS

LEAVE A REPLY