2021年4月22日 学習内容等
【就職活動】
◯ 今日の応募で今週の目標は達成
◯ 今日も面接1社。希望度は高めなのでぜひ検討してほしいが
【PHP】
◯ コンストラクタ
・ __constructという特別なメソッドを定義するとnewを用いてインスタンスを生成したときにこのメソッドが
class Menu{
public function __construct{
echo “アイウエオ”;
}
}
$test = newTest(); アイウエオが出力される。
◯ コンストラクタと引数
・ __constructメソッドは引数をとることができる。newを用いてインスタンスを生成する際には引数を与える
ことができ、その引数の値が__constructメソッドに渡される。
class Menu
public $name;
public function__construct($name){
echo $name; 結果はCURRY
}
}
$curry = newMenu(‘CURRY’); 上の($name)に、CURRYを渡している。
時にプロパティをセットできるので便利。
class Menu
public $name;
public function__construct($name){
$this -> name = $name; インスタンスのnameプロパティに値をセットしてる。
}
}
$curry = newMenu(‘CURRY’)
echo $curry -> name; 結果はCURRY
【ドリル】
◯ メソッドに3つの整数a,b,cを与える。a-bが1またはa-cが1かつb-cが2以上ならTrue、それ以外はFalseを出力させる。
・ 返り値を絶対値にするabsメソッドを使う
◯ 回答(要点のみ)
① 条件分岐の前に、a-b、a-c、b-cを変数に代入する。absメソッドで絶対値にするのも忘れずに。
ab = (a-b).abs
ac = (a-c).abs
bc = (b-c).abs
② ①で用意した変数を使って条件分岐を記述
if ( ab == 1 && bc >=2 ) || (ac == 1 && bc >= 2) この場合はTrue、これ以外はFalse。
【オリジナルアプリ】
◯ ユーザー管理機能の単体テストコードでエラーメッセージが2重になっている。
おそらくdeviseとバリデーションの問題?