layout: post title: “2017-07-03-study-php-note” date: 2017-07-03 10:51:05 +0000
session とは
cookie と同じようにブラウザに応じてデータを保存できる仕組みだが、ブラウザ側ではなくてサーバ側にデータを保存できるという仕組み。
cookie は中身が見られる危険があるが、大きなデータを保存する際は session を使えば消えることも誰かに改ざんされる心配もなくなる。
session_start();
を必ず冒頭につけること
定数とは
変更されない値につけるラベル。
define("MY_EMAIL","test@email.com");
echo MY_EMAIL // 定数はは必ず大文字
インターフェイスとは
このクラスではこのメソッドを必ず実装してくださいというルールを定義するための仕組み。
コード例
<?php
$username = '';
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$username = $_POST['username'];
$error = false;
if(strlen($username) > 8) {
$error = true;
}
}
?>
<!DOCTYPE html>
<?php
$body = ”;
$period = new DatePeriod(
new DateTime(‘first day of this month’),
new DateInterval(‘P1D’),
new DateTime(‘first day of next month’)
);
foreach ($period as $day) {
$body .= sprintf(‘
%d
‘, $day->format(‘d’));
}
?>
`format()` というメソッドは `DateTime` オブジェクトを好きな書式で表示するというもの。
`$firstDayOfNextMonth` という変数を作り今回は 'first day of next month' とする。
次に `while` 文を作り、`$firstDayOfNextMonth` の曜日を調べ次の日曜日になるまでに次のことをしなさい、とする。
---
## CAKE PHP
* Model
* Table クラス: 最初大文字かつ複数形
* View クラス: 最初大文字のフォルダに全て小文字のファイル名 拡張子は `.ctp`(CakePHP Template の略)
* Controller クラス: 最初大文字で単語をくっつける
※CAKE PHP では名前が重要
---
## MEMO
* echo land(1, 10); ランダムに数字を1-10の中から選ぶ
* class名は必ず最初は大文字になる
* require: fatal error を出して処理を中止
* include: warning を出して処理を続行する
* PDO = PHP Data Object
* function SomeClass(){}