読者です 読者をやめる 読者になる 読者になる

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;    これでも可

$hoge = new Lib\User("hoge");

 

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');