php入門 ドットインストール
クラス
class User{
public $name; プロパティ
public function __construct($name){ コンストラクタ
$this->name = $name;
}
public function sayHi(){ メソッド
echo "hi, i am $this->name";
}
}
echo $tom->name;
$tom->sayHi();
final オーバーライド禁止句
protected 自分のクラスの内側または、自分のクラスを継承したクラスの内側からのみ参照・呼び出しができる 継承したクラスで使いたいけどpublicにしたくないときに使う
static インスタンスを持たない
クラス名::メソッド名で呼び出す
interface 特定のメソッドを必ず定義してと指定するための仕組み
必ずpublic になる
extends と違ってimplementsで複数のinterfaceの指定ができる
implements method{ //( )をつけてはいけない
}
外部ファイルの読み込み
require エラーが出た時fatal_errorを出して処理を終了
require_once onceがついていると自動的に読み込まれているか確認し、読み込まれている場合はスキップする
include warningを発生させて処理を続行
include_once
autoroad クラスが未定義だった時に実行される
spl_autoload_register(function($class){ //これでクラスを定義
require $class . ".class.php";
});
namespace Dotinstall\lib;
$hoge = new Dotinstall\lib\User("hoge");
use Dotinstall\Lib as Lib; 別名をつける
use Dotinstall\Lib; これでも可
try 例外を発生させたい箇所をかく
catch 例外が投げられた後の処理をかく
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
$username = $_POST['username'];
$err = false;
if (strlen($username) > 8){
$err = true;
}
}
ユーザーから受け取ったデータは使用してはいけない
echo htmlspecialchars($username, ENT_QUOTES, 'UTF-8');