Rails歴2年(🐥)の私が Cakeを半年触って学んだこと
by
manamin0521
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Rails歴2年()の私が Cakeを半年触って 学んだこと
Slide 2
Slide 2 text
自己紹介 松原愛美 ランサーズ株式会社1年目 CRE @manamin0521m 学生時代インターンにてRails 2
Slide 3
Slide 3 text
今日話すこと 2つの言語(フレームワーク)で開発したことで、 それぞれの違いを知る → 違いから気づいたことについて 3
Slide 4
Slide 4 text
CakePHP 1.3→2.8 PHP 5.3 Version 4
Slide 5
Slide 5 text
言語仕様の違い
Slide 6
Slide 6 text
1. viewに値を渡す時の違い Rails @user = User.find(1) Cake2.8 $user = $this->User->findById(1); $this->set(user, $user); 6
Slide 7
Slide 7 text
「インスタンス変数」の認識の誤りに気づく ◂ Ruby時代は「viewに値を渡せる変数」と認識 ◂ 本来はメソッド内のみ使用可という意味 → オブジェクト指向の理解のきっかけに 7
Slide 8
Slide 8 text
2. 返り値の理解 Ruby def plus(num1, num2){ sum = num1 + num2 } sum = plus(10, 8) puts '加算の結果は#{ sum }です' 最後に評価された値が返る ※指定することも可能 PHP5.3 function plus($num1, $num2){ $sum = $num1 + $num2; return $sum; } $sum = plus(10, 8); print '加算の結果は'.$sum.'です'; Returnが必要 8
Slide 9
Slide 9 text
3. 変数と関数の違い Ruby 変数 @user = @user.id 関数(メソッド) Post.test PHP5.3 変数 $userId = $this->User->id; 関数(メソッド) $this->Post->test(); 9
Slide 10
Slide 10 text
3. 変数と関数の違いを意識 ◂ PHPは関数(メソッド)を使う場合、 引数が空なら()が必要 ◂ Ruby時代はピリオドで繋ぎ、直感的に取り出していた 10
Slide 11
Slide 11 text
配列とオブジェクト
Slide 12
Slide 12 text
1. 配列の扱い方 Ruby a = [1, 2, 3] a.include?(x) a.empty? (※Arrayクラス) PHP $a = array(1, 2, 3);(※5.3) $a = [1, 2, 3];(※5.4以降) in_array( $x, $a ); empty( $a ); 12
Slide 13
Slide 13 text
2. Findした結果が配列かオブジェクトか Cake2.8 Findした結果が配列 $User['id'] (3以降はオブジェクト) ※オブジェクトから値を 取り出すとき $user->id Rails Findした結果が オブジェクト @User.id 13
Slide 14
Slide 14 text
3. FormからデータをPostした時の処理 Rails Paramsで受け取る createメソッドが オブジェクト化して オブジェクトをsave Cake2.8 $this->request->data; saveメソッドが 配列を引数に取るため 配列をsave 14
Slide 15
Slide 15 text
4. 複数テーブルを結合して値を取り出す時 Rails user = User.find(params: id) @user = user.user_profiles オブジェクト Cake2.8 $user = $this->User->find('first', array( 'conditions' => array('User.id' => $id), 'contain' => array('UserProfile') )); $user[‘UserProfile’]; 配列 15
Slide 16
Slide 16 text
感じたこと Ruby時代はコピペと感覚で なんとかなってたけど PHPは省略できない部分がRubyより多い 違いの理由を学ぶことで勉強になる 複数の言語、フレームワークに触れた方がいいと言わ れる理由がわかった 16
Slide 17
Slide 17 text
ありがとう ございました! 17