Slideshare.net (beta)

 

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 2 (more)

CakePHPをさらにDRYにする、ドライケーキレシピ akiyan.com 秋田真宏

From akiyan, 8 months ago

http://www.akiyan.com/

3106 views  |  0 comments  |  2 favorites  |  42 downloads  |  3 embeds (Stats)
 
 
 

Groups / Events

 

 
Embed
options

More Info

This slideshow is Public
Total Views: 3106
on Slideshare: 1995
from embeds: 1111

Slideshow transcript

Slide 8: ( )

Slide 25: $this->User->findAll( array( ‘status’ => ‘active’, ‘confirmed_email’ => ‘yes’, ) )

Slide 27: $this->User->findAll( ” status = ‘active’ AND confirmed_email = ‘YES’ ” )

Slide 34: Don’t Repeat Yourself

Slide 40: Class User extends AppModel { var $name = ‘User’; function getActiveUser() { return $this->User->findAll(array( ‘status’ => ‘active’, ‘confirmed_email’ => ‘yes’, )); } } $this->User->getActiveUser();

Slide 44: Class User extends AppModel { var $name = ‘User’; function getActiveUser($limit = null, $page = null) { return $this->User->findAll(array( ‘status’ => ‘active’, ‘confirmed_email’ => ‘yes’, ), null, null, $limit, $page); } }

Slide 47: Class User extends AppModel { var $name = ‘User’; function getActiveUser($order = null, $limit = null, $page = null) { return $this->User->findAll(array( ‘status’ => ‘active’, ‘confirmed_email’ => ‘yes’, ), null, $order, $limit, $page); } }

Slide 48:

Slide 49:

Slide 55: Class User extends AppModel { var $name = ‘User’; var $cond_activeuser = array( ‘status’ => ‘active’, ‘confirmed_email’ => ‘yes’, }; } $this->User->findAll($this->User->cond_activeuser);

Slide 63: // $this->User->findAll( am( $this->User->cond_activeuser, array(‘sex’ => ‘male’) ) );

Slide 65: // $this->User->findAll( am( $this->User->cond_activeuser, array(‘sex’ => ‘male’) ) );

Slide 66: // $this->User->findAll( am( $this->User->cond_activeuser, array(‘sex’ => ‘male’) ) ); ‘ ’ ‘ ’

Slide 67: // Array( [status] => active [confirmed_email] => yes [sex] => male )

Slide 73: Class User extends AppModel { var $name = ‘User’; var $cond_activeuser = array( ‘or’ => array( array( ‘status’ => ‘active’, ‘confirmed_email’ => ‘yes’, ), array( ‘status’ => ‘active’, ‘confirmed_phone’ => ‘yes’, ), ), ); }

Slide 75: Array ( [or] => Array ( [0] => Array ( [status] => active [confirmed_email] => yes ) [1] => Array ( [status] => active [confirmed_phone] => yes ) ) )

Slide 80: array_merge_recursive($this->User->cond_activeuser, array( 'or' => array( array('sex' => 'male'), ) ) )

Slide 81: 結果

Slide 82: Array ( [or] => Array ( [0] => Array ( [status] => active [confirmed_email] => yes ) [1] => Array ( [status] => active [confirmed_phone] => yes ) [2] => Array ( [sex] => male ) ) )

Slide 85: $cond = $this->User->cond_activeuser; $cond[‘or’][0][‘sex’] = ‘male’; $cond[‘or’][1][‘sex’] = ‘male’;

Slide 94: Class User extends AppModel { var $name = ‘User’; function getActiveCond($merger) { return am(array( ‘status’ => ‘active’, ‘confirmed_email’ => ‘yes’, ), $merger); } }

Slide 95: $this->User->getActiveCond(array(‘sex’ => ‘male’)); Array( [status] => active [confirmed_email] => yes [sex] => male )

Slide 99: Class User extends AppModel { var $name = ‘User’; function getActiveCond($merger) { return array( ‘or’ => array( am(array( ‘status’ => ‘active’, ‘confirmed_email’ => ‘yes’, ), $merger), am(array( ‘status’ => ‘active’, ‘confirmed_phone’ => ‘yes’, ), $merger), ), ); } }

Slide 101: $this->User->getActiveCond(array(‘sex’ => ‘male’)); Array ( [or] => Array ( [0] => Array ( [status] => active [confirmed_email] => yes [sex] => male ) [1] => Array ( [status] => active [confirmed_phone] => yes [sex] => male ) ) )

Slide 108: ← 銀座 洋菓子舗 ウエストに Dry cake というケーキがあるらしい http://www.ginza-west.co.jp/

Slide 112: