July 04, 2009
TechTouch #0b01 Report
#1�Υơ��ޤ�"CakePHP Practical Tips"�Ȥ������Ȥǡ��ּ��⿷�ͤ�CakePHP�Ǥγ�ȯ��Ψ���Τ����TipsŪ�ʤ�Τ򶵤��Ƥ������������Ƽ�ʬ���ڤ򤷤褦�פȤ������ơ�
��٥�ϡ�CakePHP�Dz��餫�Υ��ץꥱ������������������ȤΤ���͡ס�
�ä˥��饤�ɤʤɤϺ��ʤ��ä��Τǡ�Emacs��hown�ǽ񤤤Ƥ�����ץ����������˱Ǥ��ʤ���ȯɽ��
�ʲ�����ñ�ʤ��餽�Υ����ɵ��������ǡ�
CakePHP��ȯ�������ȥ��å�
DB����Υܥȥॢ�å׳�ȯ
DB�߷�>bake>�����ǥ���>DB����>bake>�����ǥ���>DB����>Model����>�����ǥ���
�Τ褦�ʵ������Ƥ���
* �ޤ�DB�߷פ��ʤ��ȤϤ��ޤ�ʤ��Ȥ�������
* �դ�DB�߷פ����Ǥ���Ф������ٳ�ȯ��ʤ�뤳�Ȥ��Ǥ���
* DB�߷פ����Ǥ���г�ȯ�ϥ��ࡼ���ˤ���
* DB��̿̾���󤬤����ȳ�ȯ��Ψ�ϰ쵤���㲼
bake
scaffold�ϸĿ�Ū�ˤϻȤ�ʤ�
* bake�Ͻ���˻��Ѥ���
* ���󤬤����Ѥ���
* CRUD/������쵤�˺����Ǥ���
bakeľ��������Ƥ����������������
* SimpleTest(bake���˥ƥ��ȥ�����������ʹ����ʤ��Τdz�)
bakeľ�������Ƥ����������������
* debuglib(Debug)
* Jsphon(JSON��)
* JavaScript�饤�֥��(jQuery+��)
���峫ȯ��ɬ�ܤˤʤꤽ���ʥץ饰����
* Debug Kit
* API Generator
* DbInfo(?)
���2�Ĥϥ���������ɤ�Git��ɬ�ס�Git���Ȥ��ʤ��ʤ�gi2zip��Ȥ碌�Ƥ�餦��
JavaScript(jQuery)
* Ajax�Υ����Х����ɤ�Action��
if($this->RequestHandler->isAjax()){
//����
}
jquery.cakephp.js
* CakePHP�Ǥ������ò�����jQuery�᥽�åɥ饤�֥��
* �ޤ�̤���������Τ�������ͽ�ꡣ
CakePHP�ѥ饤�֥��
�ΤäƤ����������ʥ饤�֥�ꡣ����ݡ��ͥ�ȤȤ����ӥإ��ӥ��Ȥ����إ�ѡ��Ȥ���
base64encode.php
* base64encode behavior��
* �Х��ʥ�ե������Base64��encode����text�Ȥ��Ƽ�ư��DB����Ͽ���롣
* CPU��٤������äƤ�褤����DB�߷פ��ڡ��Х��ʥ�=�ƥ����ȷ�
cakeplus
* CakePHP���ò��������ѥ᥽�åɷ���id:cakephper���󤬤����äȺ����档�ץ����å���
http://github.com/ichikaway/cakeplus/
�ǥХå�
$this->log('hoge',LOG_DEBUG);
LOG_DEBUG���ѹ�����ȥե�������ѹ����ƥ������Ϥ��Ǥ��롣
����ϼ�ư��Ÿ�����Ƥ���롣
CakePHP��ȯ�Ķ�
�����ǥ��󥰻��ΰ�ư����
M:Model
V:View
C:Controller
A:Action
MM:ModelMethod
�Ȥ�����硢
1.C<>V
2.A<>A
3.C<>MM
4.V<>JavaScript
�ν�ǰ�ư���٤��⤤(�Ŀ�Ū����)��
* app_controller.php��component��behavior�Ǥ����Ͼ��ʤ�
* �åµï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ç§ï¿½ï¿½ï¿½Î¸ï¿½ï¿½å¤¬ï¿½ï¿½È¯ï¿½ï¿½ï¿½Ô¡ï¿½ï¿½É¤Î¸ï¿½ï¿½ï¿½ï¿½Ä¾ï¿½ë¤¹ï¿½ï¿½Î¤Ç¡ï¿½CakePHP�Ǥγ�ȯ��¿�����ϥ��ǥ����ˤ����ƾåµï¿½Î¸ï¿½Ä¾ï¿½ï¿½ï¿½Ï½ï¿½ï¿½×¡ï¿½
���˥ڥå�
����Ū��phpdoc�Υ����Ȥʤɤ����Ǥʤ�
$this->log(' '.LOG_DEBUG);�ʤɤ�CakePHP��Í�Υ����ɤ⥹�˥ڥåȤȤ���¨���ϤǤ���褦�ˤ����ۤ����褤��
�������䴰���ϰϤò¹¤ï¿½ï¿½ë¡£
TAGS
* ctags
* gtags
�åµï¿½ï¿½É¬ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½É¬ï¿½×¤È¤ï¿½ï¿½ï¿½ï¿½ï¤±ï¿½Ç¤Ï¤Ê¤ï¿½ï¿½ï¿½ï¿½Ö¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½É¤ï¿½×¤ï¿½CakePHP�Ǥ��ä�������˽ֻ������٤뤳�Ȥ����ס�
CakePHP�ǤĤޤŤ�(����)
Ajax
Configure::write('debug',0);
$this->autoRender = false;
Session
���å���󥿥��ॢ���Ȥξ��
session.gc_maxlifetime
CakePHP��ȯ��������
IRC�β��äǤ⤤����
* ����models/action(URL) ���̤���(commit������)
* ̿̾��§�β���
���ϳ�ȯ
����Modelñ�̤�ʬ����ȯ
* commit���ꥸ������Ϥ����뤿�ᡣ
* Modelñ��=��ǽñ�̤ˤʤ뤳�Ȥ⤪������
����ȥ������Action��API�Τ褦�˻Ȥ����Ȥ�1�Ĥ�Ajax��ǽ���ϳ�ȯ
* �������
* JavaScripter������ȶ��ϡ�
��ǥ�᥽�åɤ�API�Τ褦�˻Ȥ����Ȥ�1�Ĥε�ǽ���ϳ�ȯ
* ���ϳ�ȯ�򤷤Ƥ����ȡ���������Modelñ�̤�ô���Ԥ�ʬ����Ƥ���
i18nDD
* i18n��Ȥ����Ȥ�����ˤ�����ȯ
* __('User',true);
* ���ʸ���ν�������ΤȤ�����������
* ��ȯ�κݤϤĤͤ�po�ե�������ǧ�������ܸ�ʸ����������Ѹ��
* po�ե�����Υޡ�����ǽ��ɬ��
* cake merge���ޥ��(po�ե�����ޡ����ѥ��ޥ��)
CakePHP Init
app�ǥ��쥯�ȥ���ϴ��ܤ����äƤ�褤�Τǽ���ʳ������¤
bake�����Ȥ��ν��View����
* app/vendors/shells/templates/views/
bake�����Ȥ��˴������ΤΥǥ�����������褦�ˤ���
* app/webroot/
* ���ⶦÍ��
* ��������Ū����ʬ�ϸ��ɤ�Ū�˺���¤η��ˤʤ�
bake�����Ȥ����˳�ǧ���̤��Ĥ��褦�˽���
* app/vendors/shells/templates/views/
* ����ȥ������bake�Ǥ����������ɤˤ��������
* �����ɥ�ӥ塼������Τ����ⶦÍ��
�ȼ��إ�ѡ��ɲ�
* ���ΤȤ����ʤ�
CakePHP Tips
function edit(){
$this->add();
}
function edit_test(){
$this->edit();
}
���ۤȼ������
�ȡ����������Ĥ�Ť��ȯɽ�����Τ�����ɤ⡢id:rytich����ˤ��֥�٥뤬�⤤�ס�4��ˤ櫓�Ƥ⤤����٥�ס�����Ū���ȸ����Ƥ��ޤä���ȿ�ʡ�
�ޤ��������ο��ͤˤ����򤷤��館���ߤ����ʤ��"�Ȥꤢ��������"�Ȥ������Ȥǡ����󤫤鵤��Ĥ��롣�Ĥ�ꡣ
����TechTouch #0b10��2009/7/9 at Fusic 20:00-�����Ƥ�JavaScript��
#1�κǸ�ˡ�JavaScript��ؤӤ����פȸ��ä��ͤ������ΤǸ����Ф��äڤ�ˡ§�Ǥ����֤�ǿ��äƤߤ����ع֤Ǥ����顣
��CakePHP�ϻȤ��Ƥ�PHP���Ȥ��ʤ��פȤ����Ѥʾ��������ꤨ��褦�ˡ����ϡ�jQuery�ϻȤ��Ƥ�JavaScript���Ȥ��ʤ��פȤ������Ȥ�����Τǡ�������JavaScript���Τ뤳�Ȥ�Í�յ����Ȼפ������������ơ�
���ʤߤˡ��ʤ�Ǽ���No��"10"�ʤΤ��Ȥ�����id:rytich���󤬡�3��ˤʤä��饷���ѥ�����פȤ��ä��Τ�2�ʿ��ˤ��Ƥߤ���4���ܤˤ���3�塣
ȯɽͽ��Ԥ�˻�����ƤޤȤ���ʤ���ǽ���⤢��Τǡ���ʬ�Ǥⲿ��������������Ƥ���ͽ�ꡣ���Ŀ�Ū�֡������Ʊ�������ط��Ǥ�ޤȤ�褦���ʡ�
�����ʤ�Ȱ쵤���ü�����Ƥˤʤ�Ȼפ��Τǡ����ΤȤ��ϡִ��ۡפȤ������ȤǤ��ꤤ���ޤ�����ꤿ�����Ȥ��ꤿ�������Ρ�