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を渡している。
 ・ __constructメソッド内で$thisを用いてインスタンスのプロパティに値をセットできる。インスタンスの生成
   時にプロパティをセットできるので便利。
   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とバリデーションの問題?