July 04, 2009

TechTouch #0b01 Report

TechTouch #0b01�ʤ�Ȥ���λ��

#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�塣


ȯɽͽ��Ԥ�˻�����ƤޤȤ���ʤ���ǽ���⤢��Τǡ���ʬ�Ǥⲿ��������������Ƥ���ͽ�ꡣ���Ŀ�Ū�֡������Ʊ�������ط��Ǥ�ޤȤ�褦���ʡ�
�����ʤ�Ȱ쵤���ü�����Ƥˤʤ�Ȼפ��Τǡ����ΤȤ��ϡִ��ۡפȤ������ȤǤ��ꤤ���ޤ�����ꤿ�����Ȥ��ꤿ�������Ρ�

�ȥ�å��Хå�URL

�����Ȥ���

̾��:
URL:
  ����òµ­²ï¿½ï¿½ï¿½ ɾ����  ï¿½ï¿½   ï¿½ï¿½
 
 
 

'); label.html('\ �饤�֥ɥ��֥����ǤϹ���Υѡ����ʥ饤�������¬��Τ��᥯�å���(cookie)����Ѥ��Ƥ��ޤ���
\ ���ΥХʡ����Ĥ��뤫�������³���뤳�Ȥǥ��å����λ��Ѥ�ǧ������������ΤȤ����Ƥ��������ޤ���
\ �ޤ��������ͤ����ҥѡ��ȥʡ���Ȥˤ��������μ�³���ˤ�ꡢ���å����λ��Ѥ�������뤳�Ȥ�Ǥ��ޤ���
\ �ܺ٤��饤�֥ɥ����ѵ���򤴳�ǧ����������\ '); banner.append(label); var closeButton = $('