2006”N07ŒŽ31“ú

bake:adding "confirm" step

If you need to add "confirm" step in your cakephp script, you can try this:

http://www12.atwiki.jp/nezox/pages/6.html

CakePHP‚Ü‚Æ‚ß@Wiki ‚ðŽn‚ß‚½•û‚ª‚��‚ç‚Á‚µ‚á‚é‚悤‚Å‚·B
ŽQl‚É‚È‚è‚Ü‚·‚ˁB

POST ‚Å”»•Ê‚µ‚āA

if(@$_POST['mode']=='confirm')
{
if(!$this->Login->validates($this->params['data']))
{
$this->render();
}
else
{
$this->set('form', $this->params['form']);
$this->set('data', $this->params['data']);
$this->render("confirm");
}
}
‚Æ‚·‚é‚Ì‚ªƒ~ƒ\‚Å‚·B
ƒ‰ƒxƒ‹Fbake PHP cakephp controller
posted by SDozono at 10:02| ƒƒTƒ“ƒ[ƒ‹ƒX ☁| Comment(0) | TrackBack(0) | CakePHP Controller | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ30“ú

dojotoolkit

CakePHP ‚Æ dojo ‚ð‘g‚ݍ‡‚킹‚ÄŽg‚�N‚¤‚Æ‚µ‚��‚é•û‚ª‚��‚é‚悤‚Å‚·B
‚»‚̏ꍇ‚ɂ́Adefault.thtml ‚ȂǂŁA‚·‚�~‚Ä‚Ì javascript ƒtƒ@ƒCƒ‹‚ð“ǂݍž‚ñ‚ł�N‚«‚Ü‚µ‚傤A‚Ƃ��‚¤˜b‚Å‚·B

http://groups.google.com/group/cake-php/browse_thread/thread/f7a42ab0422fb765/

‚ŁAdojo ‚Ƃ��‚¤‚̂́A
http://dojotoolkit.org/
gJavaScript ƒc[ƒ‹ƒLƒbƒgh‚Ƃ��‚¤‚à‚̂ŁA
http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book2
‚�}‚Ì‚ ‚½‚è‚ɏڂµ‚��à–¾‚ª‚ ‚è‚Ü‚·B

ƒfƒ‚‚Æ‚µ‚Ä’u‚��‚Ä‚ ‚é‚à‚̂ɂ͉º‹L‚̂悤‚È‚à‚Ì‚ª‚ ‚è‚Ü‚·B
‘½Šò‚ɂ킽‚è‚Ü‚·‚ˁB

Mail@@ƒƒCƒ‰[ƒTƒ“ƒvƒ‹
Moxie@ ƒGƒfƒBƒ^ƒTƒ“ƒvƒ‹
Effects@ŠeŽíŒø‰ÊƒTƒ“ƒvƒ‹

DragDrop@ƒhƒ‰ƒbƒO•ƒhƒƒbƒv—Þ
JSON-RPC Client
Layout
Accordion
ContentPane
Dialog
LayoutContainer
SplitContainer
TabContainer
TitlePane
Windows
Wizard

FormTour
Editor
Checkbox
CiviCrmDateTimePicker@i‚«‚ê‚��‚ȃJƒŒƒ“ƒ_[j
ColorPalette
ComboBox
DatePicker
Dialog
TimePicker
Validation

Tree
Button
Menu
FisheyeiOSX‚̂悤‚ȃƒjƒ…[j
InlineEditBox
SortableTable
ChartiSVG‚Ì•\j
Tooltip
SlideShow
GoogleMap
YahooMap

ƒ‰ƒxƒ‹Fcakephp dojo AJAX PHP framework
posted by SDozono at 09:53| ƒƒTƒ“ƒ[ƒ‹ƒX ☁| Comment(2) | TrackBack(0) | “ú‹L | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ29“ú

ƒhƒCƒcŒê‚É‚æ‚é CakePHP ƒuƒƒO

ƒhƒCƒcŒê‚Å‚Ì CakePHP ‚ÉŠÖ‚·‚éî•ñƒuƒƒO‚ª‚͂��‚Ü‚è‚Ü‚µ‚½B
•¡”‚ŏ‘‚��‚��‚­‚悤‚Å‚·B

http://cakebakery.de/
germanblog.PNG

PHPŠÖŒW‚ł́AƒhƒCƒcŒê‚̏î•ñ‚àŒ‹\‘��‚��‚Å‚·‚ˁB
posted by SDozono at 15:45| ƒƒTƒ“ƒ[ƒ‹ƒX ☁| Comment(0) | TrackBack(0) | CakePHP General | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ28“ú

ƒfƒBƒŒƒNƒgƒŠ\‘��‚Qi‚‚ڂð’m‚éj

Wikipedia ‚É‚æ‚é‚ƁAƒcƒ{iŒoŒŠj‚Ƃ́Awƒcƒ{‚ƌĂ΂êAu‹C‚ÆŒŒv‚̃Gƒlƒ‹ƒM[‚̒ʂ蓹‚Å‚ ‚éŒo—ã‚É“_Ý‚µA‚»‚ÌŒo—‚ð‚‚Ȃ®“_‚̂�}‚Æ‚Å‚ ‚éBèI‹„‚ÅŽ{p‚·‚é‚�}‚Æ‚É‚æ‚è—lX‚ȍì—p‚ð•\‚í‚·x‚à‚Ì‚¾‚»‚¤‚Å‚·BƒtƒŒ[ƒ€ƒ[ƒN‚Ƃ��‚¤‚̂́AgƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Ƀcƒ{‚ðì‚éhƒVƒXƒeƒ€A‚ÆŒ¾‚Á‚Ä‚à‚��‚��‚©‚à‚µ‚ê‚Ü‚¹‚ñB

‚ ‚é‚P‰ÓŠ‚𒲐®‚·‚邾‚¯‚ŁAu‘S‘̂ɉe‹¿v‚ð—^‚¦‚é‚�}‚Æ‚ª‚Å‚«‚Ü‚·B‚Å‚·‚©‚çA‚ǂ�}‚𒲐®‚·‚é‚Æ‚Ç‚ñ‚ȕω»‚ª‹N‚�}‚é‚Ì‚©A‚»‚Ì‘S‘Ì‘œ‚ð‚‚©‚ނ�}‚Æ‚ª‘åØ‚Å‚·B

‚Ü‚¸ACakePHP Framework ‚É‚ÍŠî–{‚Æ‚È‚é“ñ‚‚̃fƒBƒŒƒNƒgƒŠ‚Æ‚µ‚āA

Cake: ƒtƒŒ[ƒ€ƒ[ƒNŽ©‘Ì‚ª“ü‚Á‚��‚éƒtƒHƒ‹ƒ_
app: Ž©•ª‚̃vƒƒWƒFƒNƒg‚ð“ü‚ê‚éƒtƒHƒ‹ƒ_

‚Ƃ��‚¤“ñ‚‚ª‚ ‚è‚Ü‚·B‚»‚µ‚ďd—v‚Ȃ�}‚Æ‚Æ‚µ‚āAu‚�}‚Ì“ñ‚‚̃tƒHƒ‹ƒ_“à‚̍\ï¿½ï¿½‚Í‚©‚Ȃ莗‚��‚év‚Ƃ��‚¤‚�}‚Æ‚Å‚·B‚Ç‚¤‚��‚¤‚�}‚Æ‚©‚Ƃ��‚¤‚ƁA‚à‚µACakeƒtƒHƒ‹ƒ_iƒtƒŒ[ƒ€ƒ[ƒN–{—ˆ‚́jƒR[ƒh‚ð‘‚«Š·‚¦‚½‚��AC³‚µ‚½‚��‚ÆŽv‚Á‚½ê‡‚ɂ́A

uŠY“–‚·‚éƒtƒ@ƒCƒ‹‚ð Cake ƒtƒHƒ‹ƒ_‚©‚ç App ƒtƒHƒ‹ƒ_‚ɃRƒs[‚µA‚»‚̃Rƒs[‚µ‚½‚à‚Ì‚ðŽ©•ª—p‚ɏC³‚µ‚Ä‚µ‚Ü‚¤v

‚Ƃ��‚¤Žè–@‚ªŽg‚¦‚é‚Ƃ��‚¤‚�}‚Æ‚Å‚·BCake‚́A“¯‚��–¼‘O‚̃tƒ@ƒCƒ‹‚ª app ƒtƒHƒ‹ƒ_‚É‚ ‚é‚�}‚Æ‚É‹C‚ª‚‚­‚ƁA‚»‚¿‚ç‚Ì‚Ù‚¤‚ðŽÀs‚µ‚Ü‚·B

Cake ƒtƒHƒ‹ƒ_Ž©‘Ì‚É‚ÍŽè‚ð‚ӂꂸ‚É‚·‚Ý‚Ü‚·‚̂ŁACake ‚̍ŐV”Å‚ªo‚½ê‡‚ɂ́A’P‚É Cake ƒtƒHƒ‹ƒ_‚¾‚¯‚ðã‘‚«‚·‚邾‚¯‚Å‚æ‚��‚©‚à‚µ‚ê‚Ü‚¹‚ñB
iƒeƒXƒg‚Í•K—v‚Å‚·‚ªBjŒë‚Á‚āA‚¹‚Á‚©‚­Ž©•ª‚̏‘‚��‚½ƒR[ƒh‚ðã‘‚«‚µ‚Ä‚µ‚Ü‚Á‚½A‚Ƃ��‚¤ó‹µ‚ð‚È‚­‚·‚�}‚Æ‚ª‚Å‚«‚Ü‚·B

‚à‚¤‚ЂƂ‚́gƒcƒ{hƒAƒvƒ[ƒ`‚́AgƒNƒ‰ƒX‚ÌŠK‘w}h‚Ƃ��‚¤ŠÏ“_‚©‚痝‰ð‚ð[‚ß‚é‚�}‚Æ‚Å‚·B

Cake ‚Ì‚·‚�~‚ẴNƒ‰ƒX‚́Aobject ƒNƒ‰ƒXilibs\object.phpj‚©‚ç”hï¿½ï¿½‚µ‚��‚Ü‚·B‚‚܂èA‚�}‚̃Nƒ‰ƒX‚ª‚·‚�~‚Ă̐e‚Æ‚È‚Á‚��‚Ü‚·‚̂ŁA‚�}‚�}‚ɉ½‚©‹@”\‚ð‘‚«ž‚ނƁACake“à‚Ì‚ ‚è‚Æ‚ ‚ç‚ä‚éƒNƒ‰ƒX‚ª“¯‚��‹@”\‚ðŽ‚Â‚æ‚¤‚É‚È‚è‚Ü‚·B

Œ»ÝA‚�}‚�}‚ɏ‘‚��‚Ä‚ ‚郁ƒ\ƒbƒh‚ɂ́A

toString() cc@ ƒNƒ‰ƒX–¼‚ð•ï¿½ï¿½Žš—ñ‚ŏo—Í‚·‚é
requestAction() cc ƒRƒ“ƒgƒ[ƒ‰‚̃ƒ\ƒbƒh‚ðŒÄ‚Ô
log() cc@@@ƒƒO‚ðŽæ‚é
cakeError() cc@@ ƒGƒ‰[ˆ——p

‚È‚Ç‚ª‚ ‚è‚Ü‚·B‚�}‚ê‚Í‚Ç‚ÌCakePHP‚̃Nƒ‰ƒX‚©‚ç‚Å‚àŒÄ‚�~‚éŠî–{“I‚ȃƒ\ƒbƒh‚Å‚·B

‚Ü‚½AƒtƒŒ[ƒ€ƒ[ƒN‚̉®‘䍜‚Æ‚È‚éA

AppController ƒNƒ‰ƒXiapp_controller.phpj
AppModel ƒNƒ‰ƒXiapp_model.phpj

‚ª‚ ‚è‚Ü‚·B‚�}‚ê‚ç‚̃tƒ@ƒCƒ‹‚ð cake ƒtƒHƒ‹ƒ_‚©‚ç app ƒtƒHƒ‹ƒ_’¼‰º‚ɃRƒs[‚µAŽ©•ª‚̃ƒ\ƒbƒh‚ð‰Á‚¦‚é‚ƁA‚»‚ꂼ‚êA‚·‚�~‚ẮgcontrollerhƒNƒ‰ƒXA‚Ü‚½"model"ƒNƒ‰ƒX‚É“¯‚��‹@”\‚ð’ljÁ‚·‚é‚�}‚Æ‚ª‚Å‚«‚Ü‚·B

—Ⴆ‚΁AMYSQL 4.1 ˆÈã‚ð—˜—p‚µ‚��‚éê‡‚ɂ́AÚ‘�}’¼Œã‚ɁA"SET NAMES ƒe[ƒuƒ‹‚̕��ŽšƒR[ƒh"‚Ƃ��‚¤ SQL ‚𔭍s‚µ‚Ȃ��‚ƁA•ï¿½ï¿½Žš‰»‚¯‚ÉŒ©•‘‚í‚ê‚é‚�}‚Æ‚ª‘½X‚ ‚è‚Ü‚·BƒI[ƒvƒ“ƒ\[ƒXŠJ”­‚Å‚ ‚ê‚΁AŽ©•ª‚̊‹«‚Å‚ÍOK‚¾‚©‚ç‚È‚É‚à‚µ‚Ȃ��‚Ƃ��‚¤‚Ì‚Å‚Í‚È‚­Au‚¾‚ê‚̊‹«‚Å‚à“®‚­‚悤‚Ɉӎ¯‚µ‚½ŠJ”­v‚ª‘åØ‚Ȃ̂ŁAŠÂ‹«‚ɉž‚��‚�}‚¤‚µ‚½ƒR[ƒh‚ðŽÀs‚·‚é‚悤‚É‚µ‚�N‚­‚Ȃǂ́A‹C”z‚è‚Í‘åØ‚©‚à‚µ‚ê‚Ü‚¹‚ñB

AppModel “à‚Ɉê“xA‚�}‚ÌSQL‚𔭍s‚·‚éƒR[ƒh‚ð‘‚ï¿½ï¿½‚�N‚­‚ƁA‚ ‚Æ‚Í model ƒNƒ‰ƒX‚ðV‚½‚ɍì‚邽‚тɐe‚̐«Ž¿‚ðŽó‚¯Œp‚��‚ł��‚Ü‚·‚̂ŁAŽq‚Ç‚à‚½‚¿‚ɂ͉½‚àŽè‚ð‰Á‚¦‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB

‚Ƃ��‚¤‚�}‚Ƃ́A”•S‚̃tƒ@ƒCƒ‹‚ª‚ ‚é‘å‚«‚ȃvƒƒWƒFƒNƒg‚Å‚ ‚Á‚Ä‚àAˆê‰ÓŠ‚ð•ÏX‚·‚邾‚¯‚ŁAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‚Ó‚é‚܂��‚ð•ÏX‚Å‚«‚é‚�}‚Æ‚É‚È‚è‚Ü‚·B

‚�}‚ꂪ‚ǂꂾ‚¯‚̏ȗ͉»‚Æ‚c‚q‚xi“¯‚��‚�}‚Æ‚ð‰½“x‚à‚µ‚Ȃ��Ij‚É–ð—��‚‚©‚ð‘̌�}‚·‚é‚ƁAŽè•ú‚¹‚È‚­‚È‚è‚Ü‚·ccB

directories.PNG

@









posted by SDozono at 11:22| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | CakePHP Tips | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ27“ú

ƒfƒBƒŒƒNƒgƒŠ\‘��

]—ˆŒ^‚Ì‚o‚g‚o‚ÌŠJ”­‚ł́Aƒtƒ@ƒCƒ‹‚̍ŏ‰‚̂Ƃ�}‚ë‚ɁA

‚Pj
include_once "Šî–{ƒtƒ@ƒCƒ‹";
require_once "Šî–{ƒtƒ@ƒCƒ‹";

‚È‚Ç‚Æ‚·‚é‚�}‚Æ‚ª‚Ù‚Æ‚ñ‚Ç‚Å‚µ‚½BƒvƒƒWƒFƒNƒg‚ª‘å‚«‚­‚È‚ê‚΂Ȃé‚قǁA“ǂݍž‚ނ�~‚«ƒtƒ@ƒCƒ‹‚ª‘‚¦‚Ä‚ä‚­A‚Ƃ��‚¤ƒpƒ^[ƒ“‚Å‚µ‚½B

‚³‚āAƒvƒƒWƒFƒNƒg‚ª‘å‚«‚­‚È‚Á‚āA”•S‚ð’�L‚¦‚é‚®‚ç‚��‚̃tƒ@ƒCƒ‹”‚É‚È‚Á‚Ä‚«‚½ê‡‚Í‚Ç‚¤‚Å‚µ‚傤‚©B‚³‚·‚ª‚É‚·‚�~‚Ä‚É‚Pj‚ð’ljÁ‚µ‚Ä‚ä‚­‚Ì‚Í‚½‚��‚Ö‚ñ‚Ȃ̂ŁAginclude ‚·‚éƒtƒ@ƒCƒ‹‚ðinclude ‚·‚éhŽè–@‚ðŽg‚¤‚悤‚É‚È‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB

‚Qj
‚Ü‚¸‚́A

-a.php ----------
include "1.php";
include "2.php";
include "3.php";
-----------------
‚Æ‚µ‚āA

ŽÀÛ‚̃tƒ@ƒCƒ‹‚ł́A

include_once "a.php";

‚Æ‚·‚ê‚΁A”•S‚̃tƒ@ƒCƒ‹‚Å include ‚µ‚½‚Æ‚µ‚Ä‚àAa.php ‚¾‚¯‚ð•Ï‚¦‚ê‚΂n‚jI‚Ç‚ñ‚È‚à‚ñ‚¾‚��B

‚Ƃ��‚��‚�}‚Ƃ΂©‚è‚̂悤‚ÉŽv‚¦‚Ü‚·‚ªA¡“x‚́Agƒtƒ@ƒCƒ‹‚É‚æ‚Á‚āA“ǂݍž‚Þphp‚ð•Ï‚¦‚½‚��h‚Æ‚©Ag‚ ‚Æ‚©‚ç’ljÁ‚µ‚½‚��ƒtƒ@ƒCƒ‹‚́A1.php ‚ð“ǂݍž‚ñ‚Å‚Ù‚µ‚��‚ªA3.php ‚Ì‘O‚ɓǂݍž‚ñ‚Å‚Ù‚µ‚��h‚È‚Ç‚Ì—v‹‚ª‰X‚É‚µ‚ďo‚Ä‚­‚é‚à‚Ì‚È‚ñ‚Å‚·B

–{“–‚Å‚·‚æB

—Ⴆ‚΁A‚�}‚ê‚Ü‚Å‚ÌŠJ”­‚ł́AƒfƒUƒCƒ“•”•ª‚à‚�}‚¤‚��‚¤’†‚œǂݍž‚ñ‚Å‚µ‚Ü‚¤‚�}‚Æ‚ª‘½X‚ ‚è‚Ü‚µ‚½B‚Ƃ�}‚낪AHTML ‚̏o—Í‚ðŽn‚ß‚Ä‚µ‚Ü‚¤‚ƁA—Ⴆ‚΁A

header ("location:...."); // `‚ÌURL‚ɏˆ—‚ðƒWƒƒƒ“ƒv‚³‚¹‚éB

‚Ƃ��‚¤–½—ß‚ªŽg‚¦‚È‚­‚È‚Á‚Ä‚µ‚܂��‚Ü‚·B‚�}‚Ì–½—ß‚ðŽg‚��‚½‚��ê‡‚ɂ́Ahtml ‚̏o—Í‚ðŽn‚ß‚ég‘O‚ɁhAðŒ•ªŠò‚ð‚·‚é‚È‚Ç‚µ‚Đݒ肵‚Ä‚â‚é•K—v‚ª‚ ‚è‚Ü‚·B

‚�}‚Ì‚Ö‚ñ‚ª‚©‚ç‚Ü‚Á‚Ä‚­‚é‚ƁA‚Ç‚¤‚É‚àŽè‚ª‚‚¯‚ç‚ê‚È‚­‚È‚Á‚Ä‚µ‚܂��‚Ü‚·B

‚»‚�}‚ŁACake Framework ‚Ì“oê‚Å‚·B
ƒtƒŒ[ƒ€ƒ[ƒN‚ðŽg‚¤‚ƁA‚�}‚Ì‚ ‚½‚è‚ð‚ǂ̂悤‚É‰ðŒˆ‚Å‚«‚é‚Ì‚Å‚µ‚傤‚©H

posted by SDozono at 10:53| ƒƒTƒ“ƒ[ƒ‹ƒX 🌁| Comment(0) | TrackBack(0) | CakePHP General | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ26“ú

CakePHP‚̃rƒfƒIEƒ`ƒ…[ƒgƒŠƒAƒ‹

cakephp.org ‚ɂ́Ascreencasts ‚Ƃ��‚¤“®‰æ‚É‚æ‚éCakePHP‚Ìà–¾‚ª‚ ‚è‚Ü‚·B
­‚µî•ñ‚ªŒÃ‚©‚Á‚½‚èAŠJ”­ŠÂ‹«‚ª‚©‚Ȃ莩•ª‚Ì‚à‚̂ƈá‚Á‚½‚肵‚��‚āA‚·‚�~‚ÄŽQl‚É‚È‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA•µˆÍ‹C‚͂‚©‚ß‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
IE Beta3 ‚Å‚Í‚¤‚Ü‚­cakephp.org‚̃TƒCƒg‚ª•\Ž¦‚³‚ê‚È‚©‚Á‚½‚è‚·‚é‚̂ŁA
Internet Archive ‚É‚ ‚é‘匳‚̃f[ƒ^‚ւ̃Šƒ“ƒN‚ðŒfÚ‚µ‚Ü‚·B

archive.PNG

‚PjCakePHP ƒuƒƒOƒ`ƒ…[ƒgƒŠƒAƒ‹
http://www.archive.org/details/CakePHP_BlogTutorialJohn

‚QjCakePHP ‚É‚æ‚é DebugƒVƒXƒeƒ€http://www.archive.org/details/UsingDebugMessages

‚RjTortoiseSVN ‚ðŽg—p‚µ‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌSync
http://www.archive.org/details/SyncDevAppAndProductionApp

‚SjBake ‚ÌŽd•û
http://www.archive.org/details/CakePHP_BuildingtheBakery_Part1

posted by SDozono at 15:33| ƒƒTƒ“ƒ[ƒ‹ƒX 🌁| Comment(0) | TrackBack(0) | CakePHP General | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ25“ú

‚�}‚̐”ƒ–ŒŽ‚Å‘å–ôi‚µ‚½CakePHP

ƒI[ƒvƒ“ƒ\[ƒX‚̃vƒƒWƒFƒNƒg‚́AƒRƒ~ƒ…ƒjƒeƒB‚Ì—Í‚ª‚ ‚ê‚΁A”ƒ–ŒŽ‚Å‚©‚È‚è‚̉ü—Ç‚ªi‚ށB

‚½‚ß‚µ‚ɂ�}‚¿‚ç‚ðŒ©‚Ä‚Ù‚µ‚��B
https://trac.cakephp.org/report/6
tickets.PNG


‚³‚܂�L‚܂Ȑl‚©‚ç‘—‚ç‚ꂽƒoƒO•ñE‹@”\’ljÁE—v–]‚È‚Ç‚¾BŠDF‚É‚È‚Á‚��‚é•”•ª‚͍l—��‚³‚êACakePHP ‚ɒljÁ‚³‚ꂽ‚©A‹p‰º‚³‚ꂽ‚©‚µ‚āAˆ—‚ªI—¹‚µ‚½‚à‚Ì‚¾B

ƒRƒ~ƒ…ƒjƒeƒB‚ª‘å‚«‚­‚È‚é‚Ƃ��‚¤‚�}‚Ƃ́AƒeƒXƒ^‚ƃRƒ“ƒTƒ‹ƒ^ƒ“ƒg‚𖳏ž‚Å‘å—ʂɌقÁ‚��‚é‚悤‚È‚à‚Ì‚¾B

‚�}‚Ì—v–]E•ñˆê——ƒVƒXƒeƒ€‚àA•Ê‚ȃI[ƒvƒ“ƒ\[ƒXƒvƒƒWƒFƒNƒg‚Ȃ̂ŁA—˜—p‚µ‚½‚��l‚Í‚¾‚ê‚Å‚àƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚éB

Trac is an enhanced wiki and issue tracking system for software development projects.
http://trac.edgewall.org/


posted by SDozono at 12:10| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | CakePHP General | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ24“ú

Google Trends:CakePHP,Symfony,ZF,Mojavi...

posted by SDozono at 17:02| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | PHP Framework | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ23“ú

Symfony ‚ª digg ‚ŁB

Symfony ‚ª digg ‚̃tƒ@[ƒXƒgƒy[ƒW‚ÉŒfÚ‚³‚ꂽ‚悤‚Å‚·B

http://digg.com/programming/Nice_Symfony_(PHP_Framework)_Tutorial

PHP ƒtƒŒ[ƒ€ƒ[ƒN‚É‹»–¡‚ðŽ‚Âl‚ª‘½‚­‚È‚é‚Ì‚Í‚æ‚��‚�}‚Æ‚¾‚ÆŽv‚��‚Ü‚·B
Å‚àŽèŒy‚È WEB \’zŒ¾Œê‚Å‚ ‚é‚�}‚Æ‚ÍŠÔˆá‚��‚Ȃ��‚ÆŽv‚��‚Ü‚·‚̂ŁB

Symfony ‚̐é“`‚Å‚·‚ªAƒRƒƒ“ƒg‚ðŒ©‚é‚ƁACakePHP ‚𐄂·º‚àŒ‹\‚ ‚ª‚Á‚��‚Ü‚·I
posted by SDozono at 20:33| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | PHP Framework | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ22“ú

ƒ^ƒO‹@”\‚Ì‚ ‚éWEBƒAƒvƒŠ‚ðÅï¿½ï¿½ŒÀ‚̃R[ƒh‚Ő»ì‚·‚é•û–@

‚à‚µAƒ^ƒO•t‚¯‚Ì‚Å‚«‚éƒTƒCƒg‚𐻍삷‚é‚Ì‚Å‚ ‚ê‚΁ACakePHP ‚Ì Association ‚ðŽg‚��‚�}‚È‚µ‚Ä‚Ý‚Ü‚µ‚傤B

—Ⴆ‚΁A
Eusers ƒe[ƒuƒ‹iƒ†[ƒU‚ÌŠî–{ƒf[ƒ^j
Eprofiles ƒe[ƒuƒ‹iƒ†[ƒU‚̏ڍ�~î•ñj
Eposts ƒe[ƒuƒ‹i“Šeƒf[ƒ^j
Etags ƒe[ƒuƒ‹iƒ^ƒO‚ÌŽí—ށj
Eposts_tags ƒe[ƒuƒ‹i“Šeƒf[ƒ^‚ƃ^ƒO‚ÌŠÖ˜Aî•ñj

‚ª‚ ‚Á‚½‚Æ‚µ‚Ü‚·BCakePHP ‚Ì model ‚É‚«‚¿‚ñ‚Ƃ�}‚ÌŠÖ˜Aî•ñ‚ðÝ’è‚·‚é‚ƁA

yƒpƒ^[ƒ“‚»‚Ì‚Pz
E$this->User->findById(ƒ†[ƒU‚h‚c)‚ŁAusers ‚Æ profiles ‚Ì—¼•û‚̏î•ñ‚ªŽæ‚Á‚�}‚ê‚Ü‚·B

E$this->Profile->findByID(ƒ†[ƒU‚h‚c)‚ŁAusers ‚Æ profiles ‚Ì—¼•û‚̏î•ñ‚ªŽæ‚Á‚�}‚ê‚Ü‚·B

¦‚‚܂èAeŽqŠÖŒW‚Ì‚ ‚éƒe[ƒuƒ‹‚Ì‚Ç‚¿‚ç‚©‚ç‚Å‚à—¼•û‚܂Ƃ߂ďî•ñ‚ðŽæ‚Á‚�}‚ê‚Ü‚·‚µAï¿½~‚©‚��ðŒ‚ðŽw’è‚Å‚«‚Ü‚·B

‚Ü‚½A

yƒpƒ^[ƒ“‚»‚Ì‚Qz
E$this->User->findById(ƒ†[ƒU‚h‚c)‚ŁAusers ‚Æ profiles ‚Ì—¼•û‚̏î•ñA‚Ü‚½‚·‚�~‚Ä‚Ì“Šeƒf[ƒ^‚àŽæ‚Á‚�}‚ê‚Ü‚·B

E$this->Post->findById(‚h‚c)‚ŁA“Še‚µ‚½ƒf[ƒ^‚ƁA‚»‚ê‚ɂ‚��‚��‚éƒ^ƒOƒf[ƒ^‚ð‚·‚ï¿½~‚ÄŽæ‚Á‚�}‚ê‚Ü‚·B

¦‚�}‚ê‚ÉŠÖ‚µ‚Ä‚àï¿½~‚©‚­ðŒ‚ªÝ’肳‚ê‚��‚é‚̂ŁA—Ⴆ‚΁Ag³”F‚³‚ꂽ“ŠeiƒRƒƒ“ƒgj‚̂ݏo—́h‚Æ‚©AgŽžŠÔŽ²‚Å•À‚�~‘Ö‚¦‚ďo—́h‚Ƃ��‚Á‚½‚�}‚Æ‚à‚Å‚«‚Ü‚·B

yƒpƒ^[ƒ“‚»‚Ì‚Pz‚Ɓyƒpƒ^[ƒ“‚»‚Ì‚Qz‚ňႤ‚Ƃ�}‚ë‚́Ag‚P‘΂P‚ÌŠÖŒWh‚©Ag‚P‘Α½‚ÌŠÖŒWh‚©‚Ƃ��‚¤‚Ƃ�}‚ë‚Å‚·B

yƒpƒ^[ƒ“‚»‚Ì‚Pz—p‚Æ‚µ‚āA
EhasOne@@@ ie‚©‚çŽq‚ðŒ©‚éj
EbelongsTo@@iŽq‚©‚çe‚ðŒ©‚éj

yƒpƒ^[ƒ“‚»‚Ì‚Qz—p‚Æ‚µ‚āA
EhasMany@@@ie‚©‚çŽq‚Ç‚à‚½‚¿‚ðŒ©‚éj
EhasAndBelongsToMany[HABTM‚Æ‚àŒ¾‚¤B]i“ñ‚‚̃e[ƒuƒ‹‚ªA‚à‚¤ˆê‚‚̃e[ƒuƒ‹‚ÅŠÖ˜A‚¯‚ç‚ê‚��‚éó‹µ‚ð‚Ü‚Æ‚ß‚ ‚��‚éj

‚ª‚ ‚è‚Ü‚·B

ƒ‰ƒxƒ‹FPHP cakephp web framework
posted by SDozono at 12:06| ƒƒTƒ“ƒ[ƒ‹ƒX 🌁| Comment(0) | TrackBack(0) | CakePHP Model | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ21“ú

ƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹ŠÔ‚ÌŠÖ˜A•t‚¯/ORM/ƒIƒuƒWƒFƒNƒgEƒŠƒŒ[ƒVƒ‡ƒiƒ‹Eƒ}ƒbƒsƒ“ƒO/Table Association

Excel ‚Å‚ ‚ê‚΁A‚P–‡‚̏ã‚É‚·‚�~‚Ă̏î•ñ‚ðÚ‚¹‚Ä‚ä‚«‚Ü‚·B‚Å‚àAƒf[ƒ^ƒx[ƒX‚̏ꍇ‚ɂ́AŒø—¦“I‚ÉŠÇ—‚·‚邽‚߂Ɂg³‹K‰»h‚Ƃ��‚¤ì‹Æ‚ðs‚Ȃ��‚Ü‚·B‚·‚é‚Ə­‚Ȃ��˜J—Í‚Å‘å—ʂ̃f[ƒ^‚ðŠÇ—‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·‚ªA•›ì—p‚Æ‚µ‚ăe[ƒuƒ‹‚̐”‚ª‘‚¦‚Ä‚µ‚܂��‚Ü‚·B‚Å‚·‚̂ŁAŽÀÛ‚̃f[ƒ^ƒx[ƒXEƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðìï¿½ï¿½‚·‚éê‡‚ɂ́A‚�}‚Ì•”•ª‚ð‚Ç‚¤‚â‚Á‚ÄŒø—¦“I‚ÉŠÇ—‚·‚é‚©‚ªˆê‚‚̃|ƒCƒ“ƒg‚É‚È‚è‚Ü‚·B

³‹K‰»‚µ‚½‚½‚߂ɐ”‚Ì‘‚¦‚½ƒe[ƒuƒ‹ŠÇ—‚ðAƒtƒŒ[ƒ€ƒ[ƒN‚ª–Ê“|‚ðŒ©‚Ä‚­‚ꂽ‚Á‚��‚��‚Í‚¸‚Å‚·B

‚Ƃ��‚¤‚킯‚ŁA¡“ú‚́AORM(ƒIƒuƒWƒFƒNƒgEƒŠƒŒ[ƒVƒ‡ƒiƒ‹Eƒ}ƒbƒsƒ“ƒO)‚ɂ‚��‚Ä‚Å‚·B‚�}‚ê‚́AgŠÖ˜A‚µ‡‚Á‚��‚é•¡”ƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ðA‚Ü‚é‚Å‚P–‡‚Ì Excel ‚Ì•\‚ðˆµ‚Á‚��‚é‚悤‚ÉŠÈ’P‚Ɉµ‚¤‚½‚ß‚ÌŽè–@h‚ÆŒ¾‚Á‚Ä‚à‚æ‚��‚©‚à‚µ‚ê‚Ü‚¹‚ñB

‚�}‚ê‚Ü‚Å‚Ì’PƒPHPƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Ő³‹K‰»‚µ‚½ƒe[ƒuƒ‹‚ðˆµ‚¤ê‡‚ɂ́A
‚Pj•¡”‰ñ(ƒe[ƒuƒ‹‚̐”‚¾‚¯)AQuery ‚ðŒÄ‚ԁI
‚QjSQL ‚Ì"JOIN"‚ð‚¤‚Ü‚­Žg‚¤B
‚Ƃ��‚¤•û–@‚ª‚ ‚è‚Ü‚µ‚½B‚½‚¾‚µA–â‘è“_‚Æ‚µ‚āA‚Pj‚̏ꍇ‚É‚Í‚à‚¿‚ë‚ñƒR[ƒhiì‹Æj—Ê‚ª‘‚¦‚Ü‚·B‚Ü‚½A‚Qj‚̏ꍇ‚ɂ́AJOIN ‚Å‚ ‚¿‚�}‚¿‚ð‚‚Ȃ��‚Ä‚µ‚Ü‚¤‚ƁAƒf[ƒ^ƒx[ƒX‚ÌŽí—Þ‚É‚æ‚Á‚ẮAgƒf[ƒ^ƒx[ƒXƒT[ƒo‚𕡐”‚É•ª‚¯‚ĉ^—p‚·‚é‚�}‚Æ‚ª“‚­‚È‚éhê‡‚ª‚ ‚è‚Ü‚µ‚½B

‚�}‚Ì‚ ‚½‚è‚ðAƒtƒŒ[ƒ€ƒ[ƒN‚ª‚¤‚Ü‚­“­‚��‚Ä‚­‚ê‚ê‚΂æ‚��‚Ì‚Å‚·‚ªAŒ»ó‚Æ‚µ‚Ă͂�}‚ñ‚ȋ‚Å‚µ‚½BiÅVó‹µ‚ª•Ï‚í‚Á‚½‚èA‹Lq‚ªŠÔˆá‚Á‚��‚½‚肵‚½‚çƒRƒƒ“ƒg‚µ‚Ä‚­‚¾‚³‚��Bj

ERuby on Rails(Œ¾ŒêFRuby) cc@ORM(ƒe[ƒuƒ‹ŠÔ‚ÌŠÖ˜A•t‚¯) ‚ðƒTƒ|[ƒgB
i“ú–{Œêî•ñ‚Æ‚µ‚ẮAhttp://www.goodpic.com/mt/archives2/2005/10/railsdbor.html ‚ȂǁBj
EEthna @@@@@@@cc@ƒf[ƒ^ƒx[ƒXŠÖ˜A‚Í Ethna_DB_PEAR,Ethna_DB_PDO ‚ȂǁBŠÖ˜A•t‚¯‚Ȃǂ͂Ȃ��H
ihttp://dozo.matrix.jp/pear/index.php?Framework%2FEthna%2FPDOj
EMaple @@@@@@@cc@BaseDAO(’�Lƒ¿”Å) ŠÖ˜A•t‚¯‚Ì‚Å‚«‚郂ƒWƒ…[ƒ‹‚ðì‚Á‚½•û‚͂��‚é‚悤‚Å‚·B³Ž®ƒTƒ|[ƒg‚ł͂Ȃ��H
@ihttp://www.wikihouse.com/hacking/index.php?%A5%DE%A5%C3%A5%D4%A5%F3%A5%B0%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8BaseDAOj
ECode Igniter @@@ cc@ORM ‚ª‚ ‚Á‚½‚ç‚��‚��‚È‚Ÿ‚Ƃ��‚¤‹c˜_‚Í‚ ‚邪A«—ˆ“I‚É‚àƒ‰ƒCƒuƒ‰ƒŠ‚Ì‚Pƒtƒ@ƒCƒ‹’ö“x‚É‚È‚è‚»‚¤B
Ë http://www.codeigniter.com/forums/viewthread/569/
ESymfony @@@ cc Ž©‘O‚ŃTƒ|[ƒg‚·‚é‚Ì‚Å‚Í‚È‚­Apropel/creole ‚Ƃ��‚¤•Ê‚ÌOSSƒvƒƒWƒFƒNƒg‚̐��‰Ê‚ð‘g‚ݍž‚ށBxml ‚© yml ‚Å‹Lq‚·‚é•K—v‚ª‚ ‚éB
ihttp://www.symfony-project.com/content/book/page/model.htmlj
EPHP on Trax@@@@ cc ORM ‚ðŽ©‘O‚ŃTƒ|[ƒgB‚¿‚å‚Á‚ƈӊOB‚½‚¾‚µAActiveRecord ‚̃tƒ@ƒCƒ‹‚ª 96.5KB‚à‚ ‚é‚Ì‚Í‘å‚«‚·‚��H
ihttp://svn.phpontrax.com/wiki/ActiveRecordTableAssociationUsagej
E‚¿‚È‚Ý‚É DjangoiŒ¾ŒêFpythonjcc ORM ‚̃Tƒ|[ƒg‚ ‚èB
ihttp://www-128.ibm.com/developerworks/linux/library/l-django/index.html ‚ȂǁBj

‚Ƃ��‚¤‚킯‚ŁACakePHP ‚̏ꍇ‚ɂ́H
ECakePHP cc ORM ‚ðŽ©‘O‚ŃTƒ|[ƒgBPHP4—pƒ‚ƒWƒ…[ƒ‹ 40KB@PHP5—pƒ‚ƒWƒ…[ƒ‹ 39KBB
ihttp://manual.cakephp.org/chapter/6@‚Ì Section 4 "Associations" ‚ðŽQÆBj

‚ƁA‚«‚Á‚¿‚èƒTƒ|[ƒg‚³‚ê‚��‚Ü‚·B
ƒ‰ƒxƒ‹Fcakephp framework PHP
posted by SDozono at 15:50| ƒƒTƒ“ƒ[ƒ‹ƒX ☁| Comment(0) | TrackBack(0) | CakePHP Model | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ19“ú

’l‚̃`ƒFƒbƒN‚ɂ܂‚í‚é‚��‚ë‚��‚ë

“ü—Í‚³‚ꂽƒf[ƒ^‚̃`ƒFƒbƒN•û–@‚ÉŠÖ‚µ‚ẮA

http://manual.cakephp.org/chapter/12

‚�}‚�}‚ɂ��‚ë‚��‚ëà–¾‚ª‚ ‚è‚Ü‚·B“ú–{ŒêŠÖŒW‚Ì‚à‚̂́AŽ©•ª‚ł��‚ë‚��‚ëÝ’è‚Å‚«‚Ü‚·B

‚ŁA‚�}‚�}‚Őݒ肵‚½ƒ`ƒFƒbƒNƒ‹[ƒ‹‚ª‚ǂ�}‚Å—˜—p‚³‚ê‚é‚©A‚Ƃ��‚¤‚ƁA

‚Pjã‹L‚̃}ƒjƒ…ƒAƒ‹‚É‚ ‚é‚悤‚ɁA
@@@ if($this->Post->validates($this->data))
‚Æ‚·‚ê‚΁A$this->data ‚Å‘—‚ç‚ꂽ“ü—̓f[ƒ^‚ªAPost ƒ‚ƒfƒ‹‚̐ݒ胋[ƒ‹‚É“K‡‚µ‚��‚é‚©ƒ`ƒFƒbƒN‚Å‚«‚Ü‚·B³‚µ‚¯‚ê‚Î true ‚ª•Ô‚Á‚Ä‚«‚Ü‚·B
‚�}‚ê‚́Aƒ‚ƒfƒ‹‚É‚ ‚郁ƒ\ƒbƒh‚Å‚ ‚é‚�}‚Æ‚É’ˆÓB

‚Qj‚»‚ꂼ‚ê‚Ì’l‚̂ǂꂪ‚�N‚©‚µ‚��‚Ì‚©’²¸EÝ’肳‚¹‚é‚ɂ́A
@@@@$this->validateErrors($this->User);
@‚Æ‚µ‚Ü‚·B‚�}‚ê‚́AgƒRƒ“ƒgƒ[ƒ‰‚̃ƒ\ƒbƒhh‚Å‚ ‚é‚�}‚Æ‚É’ˆÓ‚µ‚Ü‚µ‚傤B‚�}‚̍ì‹Æ‚ł́A‚ ‚郂ƒfƒ‹‚̃f[ƒ^‚ð‚ЂƂˆê‚ƒ`ƒFƒbƒN‚µAƒ‹[ƒ‹‚É‚ ‚Ä‚Í‚Ü‚ç‚Ȃ��‚à‚Ì‚ª‚ ‚ê‚΁A‚»‚́gƒXƒCƒbƒ`‚ðƒpƒ`ƒb‚Æ“ü‚ê‚éh‚悤‚È“®ì‚ð‚µ‚Ü‚·B‚‚܂è‚́Aƒ‚ƒfƒ‹‚Ì invalidate ‚Ƃ��‚¤ƒƒ\ƒbƒh‚ðŽÀs‚µA$this->validationErrors[$field] ‚Ƃ��‚¤”z—ñ‚ð 1iƒXƒCƒbƒ`EƒIƒ“Ij‚ɐݒ肵‚Ü‚·B

‚Rj$this->Property->save($this->data['Property'])

‚Ȃǂ̂悤‚É‚µ‚āAƒ‚ƒfƒ‹‚Ìsaveƒƒ\ƒbƒhi“ü—Í‚³‚ꂽƒf[ƒ^j
‚ðŽÀs‚·‚é‚ƁAŽ©“®“I‚É validateErrors ‚̃`ƒFƒbƒN‚ª‚©‚©‚è‚Ü‚·Bi‚Q‚Æ“¯‚��Bj‹­ï¿½ï¿½“I‚ɕۑ��‚µ‚½‚��ê‡‚ɂ́A

$this->Property->save($this->data['Property'], false)

‚Æ‚·‚ê‚΁Aƒ`ƒFƒbƒN‚𖳎‹‚Å‚«‚Ü‚·B

‚SjŽ©‘O‚ŁAg‚�}‚Ì’l‚Í‚¾‚ß‚¾‚æƒ`ƒFƒbƒNh‚ð‚µ‚½‚��ê‡‚ɂ́A

if(ƒ`ƒFƒbƒN‚ª’Ê‚ç‚È‚©‚Á‚½ê‡){
$this->User->invalidate('username');@//gƒGƒ‰[ƒXƒCƒbƒ`h‚ðONB
}

‚Æ‚·‚ê‚΁A username ‚Ƃ��‚¤ƒtƒB[ƒ‹ƒh‚̃f[ƒ^‚Í’Ê‚ç‚È‚©‚Á‚½‚�}‚Æ‚É‚È‚è‚Ü‚·B‚�}‚�}‚Å•¡”ðŒ‚Ń`ƒFƒbƒN‚µ‚½‚��AƒGƒ‰[ƒƒbƒZ[ƒW‚ð•Ï‚¦‚½‚��A‚Ȃǂ̏ꍇ‚ɂ́Ausername_hiragana ‚Ȃǂ̂悤‚ɁAŽ©•ª‚ŏŸŽè‚ɍì‚Á‚Ä‚µ‚Ü‚Á‚Ä‘åä•v‚Å‚·B

‚TjView ‚ł̃Gƒ‰[•\Ž¦
@@@$html->tagErrorMsg('Post/title', 'ƒ^ƒCƒgƒ‹‚ð‹L“ü‚µ‚Ä‚­‚¾‚³‚��')

@@‚Ƃ��‚¤Œ`‚ðŽg‚��‚Ü‚·B—Ⴆ‚Ώã‚̏ꍇ‚ɂ́A"Postƒf[ƒ^‚Ìtitle‚Ƃ��‚¤–¼‘O‚̃tƒ‰ƒO‚ª—��‚Á‚��‚ê‚΁AƒGƒ‰[‚ð•\Ž¦‚·‚é"‚Ƃ��‚¤‚�}‚Æ‚É‚È‚è‚Ü‚·B
‘�}‚¯‚āA

@@@$html->tagErrorMsg('Post/title_hiragana', 'ƒ^ƒCƒgƒ‹‚͂Ђ炪‚È‚Å‹L“ü‚µ‚Ä‚­‚¾‚³‚��')

‚È‚Ç‚à•À‚�~‚�N‚¯‚΁A $this->Post->invalidate('title_hiragana')@‚ð‚µ‚Ä‚ï¿½ï¿½‚½ê‡‚É‚Í•\Ž¦‚³‚ê‚é‚�}‚Æ‚É‚È‚è‚Ü‚·B

‚¿‚Ȃ݂ɁA

E Model ƒNƒ‰ƒX‚Ì’†‚ɂ́A
@@validates,@@@@ƒ`ƒFƒbƒN‚ª’Ê‚Á‚½‚ç True ‚ð•Ô‚·B
@@invalidFields,@@ƒ`ƒFƒbƒN‚Ɉø‚Á‚©‚©‚Á‚½”z—ñ‚ð•Ô‚·B
@@invalidate@@@@ƒ`ƒFƒbƒN‚ª’Ê‚ç‚È‚©‚Á‚½‚ ‚鍀–ڂ̃XƒCƒbƒ`‚ð‚n‚mB
‚Ƃ��‚¤ƒƒ\ƒbƒhB

E Controller ƒNƒ‰ƒX‚Ì’†‚ɂ́A
@@validate, ƒGƒ‰[‚́g”h‚ð•Ô‚·B
@@validateErrors@@ƒGƒ‰[‚Ì‚ ‚éƒf[ƒ^‚𒲍¸AƒXƒCƒbƒ`‚ð“ü‚ê‚Ä‚ä‚­B
‚Ƃ��‚¤ƒƒ\ƒbƒhB

‚Ƃ��‚¤Ž—‚Ä”ñ‚È‚é–½—ß‚ª‚ ‚è‚Ü‚·‚̂ŁAŽg‚��•ª‚¯‚É’ˆÓ‚µ‚Ü‚µ‚傤B
@@

@



posted by SDozono at 12:33| ƒƒTƒ“ƒ[ƒ‹ƒX 🌁| Comment(0) | TrackBack(0) | CakePHP View | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ18“ú

CakePHP “ú–{Œêî•ñƒTƒCƒg

CakePHP ‚ÉŠÖ‚·‚é“ú–{Œêî•ñ‚ðW‚߂邽‚߂ɁAhttp://www.cakephp.jp ‚ª‚ ‚è‚Ü‚·B
‚Ü‚¾‚͂��‚Ü‚Á‚½‚΂©‚è‚Å‚·B‹CŒy‚ɏî•ñ‚𓊍e‚µ‚Ä‚­‚¾‚³‚��B
CakePHP ‚̐i“W‚Æ‹¤‚ɁA“ú–{Œêî•ñƒTƒCƒg‚à™X‚É"CakePHP fully Powered" ‚É‚µ‚ĉü—Ç‚Å‚«‚ê‚΂Ǝv‚��‚Ü‚·B
posted by SDozono at 11:31| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | CakePHP General | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ17“ú

‚��‚¿‚΂ñŠÈ’P‚È”FØƒVƒXƒeƒ€

CakePHP ‚ɂ́AACL ‚Ƃ��‚¤”FØƒVƒXƒeƒ€‚ª•W€‚Å“ü‚Á‚��‚Ü‚·B‚µ‚©‚µAƒƒOƒCƒ“‰æ–Ê‚âƒAƒNƒZƒXƒ`ƒFƒbƒN‚È‚Ç‚ÍŽ©‘O‚Å—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·‚µAƒf[ƒ^ƒx[ƒX‚ц[ƒU‚ÆŒ ŒÀ‚ðŠÇ—‚·‚é‚ȂǁA‚©‚È‚è–{Ši“I‚È‚à‚Ì‚Å‚·B

Ž©•ª‚ª¡Aìï¿½ï¿½‚µ‚��‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́A­l”i‚Ü‚½‚͈êlj‚ÅŠÇ—‚Å‚«‚ê‚΂��‚��‚à‚̂Ȃ̂ŁA’Pƒ‚ɃpƒXƒ[ƒhˆê‚‚ð“o˜^‚Å‚«‚āA‚»‚ê‚Å‘S‘Ì‚Ì”FØƒ`ƒFƒbƒN‚ð‚µ‚Ä‚­‚ê‚ê‚΂æ‚��A‚Ƃ��‚¤’ö“x‚Ì‚à‚Ì‚Å‚·B

‚»‚�}‚ÅŠÈ’P‚ȃXƒNƒŠƒvƒg‚ð‘‚ï¿½ï¿½‚ăXƒjƒyƒbƒg‚É“o˜^‚µ‚Ä‚Ý‚Ü‚µ‚½B
ƒf[ƒ^ƒx[ƒX‚ðŽg‚킸Aƒ†[ƒU–¼‚ƃpƒXƒ[ƒhˆê‚‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“‘S‘Ì‚ðŽç‚éƒ^ƒCƒv‚Ì‚à‚Ì‚Å‚·Bƒ\[ƒX‚ðŒ©‚ê‚Έê–Ú—Ä‘R‚ȃR[ƒh‚Å‚·B

http://cakeforge.org/snippet/detail.php?type=package&id=20

ŠÖS‚ðŽ‚Á‚Ä‚­‚ꂽShane Shepherd ‚³‚ñ‚ªACAKE_ADMIN ƒ‹[ƒeƒBƒ“ƒO‚̏ꍇ‚É‚Í‚Ç‚¤‚Å‚«‚é‚©A‚Ƃ��‚¤ƒAƒCƒfƒA‚ðo‚µ‚Ä‚­‚ê‚Ü‚µ‚½B

http://www.shepherdweb.com/2006/07/14/single-user-admin-area-authentication-with-cakephp/

‚�}‚ê‚ðŽg‚¦‚΁AƒAƒvƒŠ–¼/admin/ƒRƒ“ƒgƒ[ƒ‰/ƒAƒNƒVƒ‡ƒ“ ‚Ƃ��‚¤adminê—p‚ÌŒ`‚Å‚Ì”FØ‚ÉŽg‚¦‚Ü‚·B

Ž©•ª‚Å‚à•K—v‚É‚È‚Á‚½‚Ì‚Å‚¿‚å‚Á‚Æ’²‚�~‚Ä‚Ý‚½‚Ƃ�}‚ëA‚�}‚¤‚��‚¤‘‚«•û‚à‚Å‚«‚é‚©‚ȁA‚ÆŽv‚��‚Ü‚µ‚½B

class AppController extends Controller {

var $components = array(fSdAuthf);

function beforeFilter()
{

//for CAKE_ADMIN(admin) rooting.
if(defined(fCAKE_ADMINf) && !empty($this->params[fadminf])){
//start admin check.
if($this->SdAuth->isloggedin() == FALSE)
{
//$this->layout = gloginh;
***$this->layout = '';
***$this->render('../layouts/login');
***exit();
*‚ȂǁBpm11op‚³‚ñA‚ ‚肪‚Æ‚¤‚²‚�L‚��‚Ü‚·B*
*http://pm.11op.net/2007/12/post-28.php*
} else {
$this->layout = gadmin_defaulth;
}
}

‚�}‚ꂾ‚ƁA/admin/ ‚ðŠÔ‚É‚Í‚³‚ñ‚ŃAƒNƒZƒX‚µ‚½ê‡‚ɂ̂݁A”FØƒ`ƒFƒbƒN‚ð‚©‚¯‚Ä‚­‚ê‚Ü‚·B
posted by SDozono at 14:38| ƒƒTƒ“ƒ[ƒ‹ƒX 🌁| Comment(0) | TrackBack(1) | CakePHP Controller | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ16“ú

form ‚Æ $data ‚̘AŒgƒƒJƒjƒYƒ€

’ʏíA‘f‚ÌPHP ‚Å“ü—̓tƒH[ƒ€‚ðì‚éÛA–¼‘O‚È‚Ç‚Í”CˆÓ‚É•t‚¯‚Ä‚µ‚܂��‚Ü‚·B‚»‚µ‚Ď󂯂鑤‚ŁA‚»‚ê‚ð“Ç‚ÝŽæ‚èAƒf[ƒ^ƒx[ƒX‚É“ü‚ê‚éA‚Ƃ��‚¤“®ì‚ð‚µ‚Ü‚·B

—Ⴆ‚΁F

‚Pj“ü—̓tƒH[ƒ€Fƒinput name="name" „

‚Qj“ü—̓tƒH[ƒ€‚©‚çŽó‚¯‚é.php: $name = $_POST['name'];

‚»‚µ‚āA‚RjƒTƒjƒ^ƒCƒY{‚Sjiƒf[ƒ^‚̉ÁHj{‚Tjƒf[ƒ^‚ÌŒŸØ{‚Ujƒf[ƒ^ƒx[ƒX‚ցA‚Ƃ��‚¤Œ`‚É‚È‚è‚Ü‚·B

–â‘è‚Æ‚µ‚āA

š‚Pj‚Ì–¼‘O‚ª‚Ç‚ñ‚È‚à‚Ì‚Å‚à‚æ‚��Bƒ‹[ƒ‹i‹K‘\j‚ª‰½‚à‚Ȃ��BËƒy[ƒW‚²‚ƂɁA‚Ü‚½‚ÍŠJ”­ŽÒ‚²‚Æ‚É–¼‘O‚Ì•t‚¯•û‚ª‚΂ç‚΂ç‚É‚È‚é‰Â”\«‚ª‚ ‚éB
š‚Tj‚ÅŽ¸”s‚µ‚½ê‡‚É‚Ç‚¤‚â‚Á‚Ä‚Pj‚Ü‚Å–ß‚·‚©k‘¼‚̐³‚µ‚��ƒf[ƒ^ƒtƒB[ƒ‹ƒh‚ð‚Ç‚¤‚·‚é‚©l‚Ƃ��‚¤–â‘肪ï¿½ï¿½‚��‚éB

‚È‚Ç‚ª‰X‚É‚µ‚��‚��‚Ü‚·B‚�}‚ê‚Ü‚Å‚Í‚Ý‚ñ‚È‚»‚ê‚Å‹ê˜J‚µ‚Ü‚µ‚½B‚Ƃ�}‚낪ACakePHP ‚ɂ́A‚»‚Ì‚ ‚½‚è‚ð‰ðŒˆ‚·‚éŽè–@‚ª‘g‚ݍž‚Ü‚ê‚��‚Ü‚·B

šŠî–{‚Æ‚È‚é‚̂́A
--------------------------------------------------------------
EƒtƒH[ƒ€‚©‚ç‚̃f[ƒ^‚́A–¼‘O‚ðgdata['ƒe[ƒuƒ‹–¼']['ƒtƒB[ƒ‹ƒh–¼']h‚Æ‚µ‚Ä‘—M‚·‚é‚ƁAŽ©“®“I‚ɕϐ”$data‚ÉŠi”[‚µ‚Ä‚­‚ê‚éB
EModel ‚Ì save ƒƒ\ƒbƒh‚́A$•Ï”–¼['ƒe[ƒuƒ‹–¼']['ƒtƒB[ƒ‹ƒh–¼'] = "’l"‚Ƃ��‚¤ƒf[ƒ^‚ðˆêŠ‡Ši”[‚Å‚«‚éB
--------------------------------------------------------------
‚Ƃ��‚¤ƒ‹[ƒ‹‚Å‚·B

—Ⴆ‚΁Ausers ƒe[ƒuƒ‹‚Ì’†‚ɁAname ƒtƒB[ƒ‹ƒh‚ª‚ ‚é‚Æ‚µ‚Ü‚·B“ü—̓tƒH[ƒ€iƒrƒ…[j‚Ì’†‚ɁA
--------------------------------------------------------------
echo $html->input('User/name', array('id' => 'user_name', 'size' => '40', 'value' => $users['User']['name'], ))
--------------------------------------------------------------
‚Ə‘‚��‚�N‚­‚ƁAŽÀÛ‚Ì HTML ‚ɂ́A
--------------------------------------------------------------
ƒinput name="data[User][name]" id="user_name" size="40" value="" type="text" /„
--------------------------------------------------------------
‚Æ“WŠJ‚³‚ê‚Ü‚·B

‚�}‚�}‚Ƀf[ƒ^‚ª“ü‚Á‚Ä‚«‚½ê‡AƒRƒ“ƒgƒ[ƒ‰‘¤‚ł́A

empty($this->User) cc@ƒf[ƒ^‚ª“ü—Í‚³‚ê‚��‚È‚¯‚ê‚Î True.

‚Ƃ��‚¤ŠÖ”‚Ńf[ƒ^‚ª“ü‚Á‚Ä‚«‚½‚©‚Ç‚¤‚©‚𒲂�~A‚à‚µƒf[ƒ^‚ª“ü—Í‚³‚ê‚��‚é‚悤‚Å‚ ‚ê‚΁A

$this->User->save($this->data['User'])

‚Ƃ��‚¤ˆê•ï¿½ï¿½‚ŁAgusersƒe[ƒuƒ‹‚Ö‚Ì‚Ps•ª‚̃f[ƒ^‚ð‚·‚ï¿½~‚āhA•Û‘��‚·‚é‚�}‚Æ‚ª‚Å‚«‚Ü‚·B‚�}‚ê‚ð—‰ð‚µ‚Ä‚ï¿½ï¿½‚é‚ƁA•Û‘��‘O‚Ƀf[ƒ^‚ð‰ÁH‚µ‚½‚èA“ÆŽ©‚̃f[ƒ^‚ðŒvŽZE’ljÁ‚·‚é‚�}‚Æ‚È‚Ç‚à‰Â”\‚É‚È‚è‚Ü‚·B

‚³‚āAƒf[ƒ^ƒoƒŠƒf[ƒVƒ‡ƒ“‚Í‚Ç‚¤‚��‚¤Žd‘g‚Ý‚É‚È‚Á‚��‚é‚ñ‚Å‚µ‚傤‚©ccB‚�}‚Ì‚ ‚½‚è‚à‚©‚È‚èl‚¦”²‚©‚ê‚��‚Ü‚·BŽŸ‰ñ‚֑�}‚­B


posted by SDozono at 11:11| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | CakePHP Model | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ15“ú

PHP FrameworkS behind a curtain

I like RoR-style frameworks. And I like phpMyEdit & MyDBO.

But It doesn't mean that I don't like traditional PHP frameworks.
In Japan, there some unique PHP Frameworks which has only Japanese pages. In the future, they may make English community. I think there are potentials to become one of the famous frameworks.

1) Ethna(http://ethna.jp/) - An enterprise level, quite mature PHP Framework.

Ethna.PNG

This framework is being used for one of the largest SNS commercial service in Japan. GREE.jp They released their foundation, PHP framework as a opensource project. And originator of this framework is a member of "php.net".

2) Maple(http://kunit.jp/maple/)

I believe this is the first major framework developed and released in Japan. This framework has a "InterceptingFilter pattern".
Now, the auther is making S2Container.PHP5(DIContainer with AOP) too. (http://www.seasar.org/en/products.html)

3) Quicty(Quick application build environment for PHP depends on PEAR and Smarty)
http://quicty.zubapita.jp/?FrontPage

I think this is the latest PHP Framework being developed in Japan.(a framework announced at the PHP Users ML in Japan.) This framework has a unique feature, kind of "interactive scaffolding" feature. BSD licence.

Other frameworks:
- guesswork(http://www.guesswork.jp/)
- ‘��\Web Framework (http://www.pm9.com/newpm9/itbiz/php/framework/)
- Dino Lib (http://openlab.dino.co.jp/?key=%5B%5Bdinolib%5D%5D)
- Sabaphy(http://satolab.tiu.ac.jp/SabaphyHome/sabaphyMainHome/index.html)
Educational PHP Framework for university students. / for learning J2EE, EJB.
- Laiz (http://www.n314.com/Laiz/pukiwiki/)
- Pokox (http://www.glamenv-septzen.net/pukiwiki/index.php?pokox)
- rhaco (http://www.rhaco.org/)








posted by SDozono at 23:07| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | PHP Framework | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ14“ú

Ruby on Rails ‚Æ CakePHP ‚Ì”äŠr/rubyonrails.org ‚Å‚Ì‹c˜_B

2006”N6ŒŽArubyonrails.org ‚̃[ƒŠƒ“ƒOƒŠƒXƒg‚ɂāAuRuby on Rails ‚Æ CakePHP ‚Ì”äŠrv‚Ƃ��‚¤ƒe[ƒ}‚ª‹c˜_‚³‚ê‚��‚Ü‚µ‚½BRubyŽg‚��‚Å‚ ‚Á‚Ä‚àAWEBŠÖ˜A‚ÅPHP‚ð—˜—p‚µ‚½‚�}‚Æ‚ª‚Ȃ��A‚Ƃ��‚¤•û‚Í‚Ü‚¸‚��‚Ȃ��‚ÆŽv‚��‚Ü‚·B‡Œv31’Ê‚É‚à‚È‚éƒfƒBƒXƒJƒbƒVƒ‡ƒ“‚Ì’†‚ŁA‚��‚ë‚��‚ëo‚Ä‚«‚Ü‚µ‚½B

ror.jpg

Å‰‚̈ꌾ‚́A
">From a development standpoint, what are the features that make Ruby on Rails a better choice compared to CakePHP?"

ŠJ”­‚Ì“_‚©‚çl‚¦‚é‚ƁARuby on Rails ‚ð‘I‘ð‚·‚é‚�}‚Æ‚É‚Í CakePHP ‚æ‚è‚à‚Ç‚ñ‚È—˜“_‚ª‚ ‚é‚Å‚µ‚傤‚©H

‚Ƃ��‚¤‚à‚Ì‚Å‚µ‚½B‚»‚�}‚©‚çA

uCakePHP ‚È‚ñ‚Ä’m‚ç‚È‚©‚Á‚½`Bv
uPHP ‚Í Ruby ‚قǂɂ͂��‚ë‚��‚ë‚Å‚«‚é‚悤‚É‚È‚ç‚Ȃ��‚¾‚낤Bv
u‚�N‹q‚Ì‹¤—LƒT[ƒo‚ɃXƒNƒŠƒvƒg‚ð“ü‚ê‚Ä‚­‚ê‚ÆŒ¾‚í‚ꂽ‚çHv
uŽg‚��•ª‚¯‚à‚��‚��‚©‚à‚µ‚ê‚Ȃ��‚¯‚ǁARuby ‚ðƒzƒXƒg‚µ‚��‚éƒT[ƒo‚Í PHP ‚¾‚Á‚Ä“®‚­‚¾‚낤Bv
u‹¤—LƒT[ƒo‚̂킸‚©‚È’l’i‚ŁAŽg‚¤‹Zp‚ªï¿½ï¿½‰E‚³‚ê‚é‚Ì‚©‚��Iv
uCakePHP ‚È‚çAV‚µ‚��Œ¾Œê‚ðŠo‚¦‚È‚­‚��‚��B‚Å‚àRuby‚ÆRoR‚ÌŠÈŒ‰‚³‚ƃfƒUƒCƒ“‚à‚��‚��Bv
uV‚µ‚��‚�}‚Æ‚ðŠw‚�~‚΁A•K‚¸‚»‚�}‚©‚牽‚©‚𓾂éIv
uPHP‚́A‚Pjƒeƒ“ƒvƒŒ[ƒg‚ªŠÈ’PB‚QjDBƒAƒNƒZƒX‚ªŠyB‚Rj‚ǂ�}‚É‚Å‚à“ü‚Á‚��‚éBRuby ‚́A‚PjBlocksB‚Qjƒzƒ“ƒg‚̃IƒuƒWƒFƒNƒgŽwŒüB‚RjBlocksB‚Sj‘Ó–‚ȃIƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚ƃXƒ^ƒ“ƒ_[ƒhƒ‰ƒCƒuƒ‰ƒŠB‚TjBlocksBcc‘�}‚­Bv
u‚ ‚ê‚ÁA‚È‚ñ‚©ƒtƒŒ[ƒ€ƒ[ƒN‚̘b‚��‚á‚È‚­‚ÄŒ¾Œê‚»‚Ì‚à‚̘̂b‚É‚È‚Á‚Ä‚«‚½BPHP‚ðŽg‚��‚½‚��l‚ÍCakePHP‚ðŽg‚¦‚΂��‚��‚¾‚낤B‚Å‚àACakePHP‚Á‚ăR[ƒhƒWƒFƒlƒŒ[ƒVƒ‡ƒ“‚ª‚Ȃ��‚ñ‚��‚á‚Ȃ��Hv
ui‚�}‚�}‚ÅCakePHP‚̍ìŽÒ‚ªj‚��‚âAscripts/bake.php‚ÅŽg‚¦‚Ü‚·‚æBÝ’è‚à‚Ù‚Æ‚ñ‚ǂȂ��‚Å‚·‚µBƒrƒfƒIƒLƒƒƒvƒ`ƒƒ‚ð‚Ç‚¤‚¼Bv
uRoR ‚̓vƒƒOƒ‰ƒ~ƒ“ƒO‚ÌŠy‚µ‚³‚ð‹³‚¦‚Ä‚­‚ê‚éI‚�}‚Ì‹ÆŠE‚É“ü‚Á‚½‚΂©‚è‚Ì‹CŽ‚¿‚ðŽv‚��o‚·‚æBv
u‚ ‚́`B‚�N‹q‚ÌŽg—p‚µ‚��‚鋤—LƒT[ƒo‚ɃXƒNƒŠƒvƒg‚ð“ü‚ê‚Ä‚­‚êA‚Ƃ��‚¤‚̂́AWordpress Expression Engine ‚Ȃǂ̃uƒƒO‚Æ‚© Typo3 ,Drupal, Mambo ‚Æ‚©‚̃pƒbƒP[ƒW‚̈Ӗ¡‚ŏ‘‚��‚½‚Ì‚Å‚·‚ªccBRoR ‚à‚��‚¸‚êFX‚ȃpƒbƒP[ƒW‚ªo‚Ä‚­‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA””N‚©‚©‚é‚ñ‚��‚á‚Ȃ��‚Å‚·‚©Bv
uŠù‘��‚Ì CMS ƒpƒbƒP[ƒW‚É‚Í–ž‘«‚Å‚«‚Ȃ��Iv
uWEBƒAƒvƒŠ‚̃\[ƒX‚Í‚à‚¤ŒöŠJ‚µ‚½‚­‚Ȃ��BPHP‚ŏ‘‚«‚½‚­‚Ȃ��Bv
u‚ ‚Ì‚³A—v‚·‚é‚É CakePHP ‚́APHP”Å‚ÌRails‚È‚ñ‚¾‚æBPHP‚̃\ƒŠƒ…[ƒVƒ‡ƒ“‚Æ‚µ‚Ă͂��‚��‚ñ‚��‚á‚Ȃ��‚́BRuby‚Ì‚Ù‚¤‚ª‚¸‚Á‚ÆŽg‚��‚â‚·‚��‚¯‚ǁBv
uFX•ªÍ‚µ‚Ä‚Ü‚Æ‚ß‚Ä‚Ý‚Ü‚µ‚½`Bi‚܂Ƃ߁jv

‚Æ‚Ü‚¾‚Ü‚¾‘�}‚«‚Ü‚·‚̂ŁAŠÖS‚Ì‚ ‚é•û‚Í‚²Ž©•ª‚ő�}‚«‚ð‚Ç‚¤‚¼B

http://lists.rubyonrails.org/pipermail/rails/2006-June/046592.html

posted by SDozono at 11:03| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | CakePHP General | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ13“ú

CakePHP ‚Ì•ª‚©‚è‚â‚·‚��ƒ`ƒ…[ƒgƒŠƒAƒ‹

Fabio Cevasco ‚³‚ñ‚Í•Ê‚Ì‹LŽ–‚Å SQLyog ‚àÐ‰î‚µ‚��‚Ü‚·BWEBŠJ”­‚ł̍D‚Ý‚ªŽ—‚��‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB

ŠÈ’P‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðìï¿½ï¿½‚µ‚Ä‚Ý‚éƒ`ƒ…[ƒgƒŠƒAƒ‹‹LŽ–‚ð”­•\‚³‚ê‚Ü‚µ‚½B

article1.jpg
http://www.sitepoint.com/article/application-development-cakephp

“ú–{‚Å‚ÌŠJ”­‚Ì‚½‚ß‚ÌŽQl“_‚Æ‚µ‚āA
EŽ©‘îƒT[ƒo‚ÅŽŽ‚·ê‡‚ɂ́Amod_rewrite ‚ªŒø‚­‚悤‚É‚µ‚�N‚«‚Ü‚µ‚傤B
E$scaffold ‚ÍŠî–{“I‚Éfield–¼‚ð‚»‚Ì‚Ü‚ÜŽg—p‚·‚é‚̂ŁA“ú–{ŒêŠÂ‹«‚Å‚Í‚ ‚Ü‚èŽÀ—p“I‚łȂ��‚ƍl‚¦‚��‚½‚Ù‚¤‚ª‚æ‚��‚ÆŽv‚��‚Ü‚·Bi“ú–{‚ł́Afield–¼‚ɂ͉pŒê‚ªŽg—p‚³‚ê‚Ü‚·B‚µ‚©‚µAView‚̍€–Ú–¼‚Å‚Í“ú–{Œê‚ªŽg—p‚³‚ê‚Ü‚·Bj‚�}‚Ì‹LŽ–‚ÌŒã‚Ì‚Ù‚¤‚ɏo‚Ä‚«‚Ü‚·‚ªAview •”•ª‚Ńeƒ“ƒvƒŒ[ƒg‚ðŠÈ’P‚ɍìï¿½ï¿½‚Å‚«‚é‚̂ŁA‚»‚¿‚ç‚ð—˜—p‚Å‚«‚Ü‚·B
ERails—��‹V‚ł́Aƒe[ƒuƒ‹–¼‚𕡐”Œ`‚É‚µ‚½‚Ù‚¤‚ªŠÈ’P‚Å‚·B‚µ‚©‚µAŠù‘��ƒvƒƒWƒFƒNƒg‚Ȃǂ̏ꍇ‚ɂ́A‚�N‚��‚»‚ê‚ƃe[ƒuƒ‹–¼‚ð•ÏX‚Å‚«‚Ȃ��ê‡‚ª‚ ‚è‚Ü‚·‚æ‚ˁB‚»‚ñ‚ȏꍇ‚Å‚àA’P‚ɁAModel ‚Ì’†‚ɁA

$useTable = ƒe[ƒuƒ‹–¼

‚Æ‚©‚¯‚΁A‚ ‚Æ‚Í‚·‚�~‚Ä–Ê“|‚ðŒ©‚Ä‚­‚ê‚é‚̂ŁAƒtƒŒ[ƒ€ƒ[ƒN‚ð—˜—p‚·‚é‚�}‚Æ‚ðS”z‚µ‚È‚­‚Ä‘åä•v‚Å‚·Bi‚¿‚Ȃ݂ɂ�}‚�}‚É False ‚ð“ü‚ê‚é‚ƁAƒf[ƒ^ƒx[ƒXEƒe[ƒuƒ‹‚ðŒ©‚És‚©‚Ȃ��ƒ‚ƒfƒ‹‚ðìï¿½ï¿½‚Å‚«‚Ü‚·Bj‚ ‚ÁA‚Å‚àprimary key ‚ª‚Ȃ��ƒe[ƒuƒ‹‚ðŽg—p‚µ‚��‚éê‡‚͂‚ç‚��‚©‚àB$id ‚Ƃ��‚¤–¼‘O‚łȂ��ê‡‚Í $primaryKey •Ï”‚ŃZƒbƒg‚Å‚«‚Ü‚·B
Eíœ‹@”\‚Ɂu–{“–‚ɍ폜‚µ‚Ü‚·‚©v‚̂悤‚ÈŠm”Fƒ|ƒbƒvƒAƒbƒv‚ð’ljÁ‚·‚é‚Ì‚ÍŠÈ’P‚Å‚·B$confirmMessage ‚Ƃ��‚¤ƒpƒ‰ƒ[ƒ^‚ð true ‚É‚µ‚Ü‚µ‚傤B

Úï¿½~‚͂�}‚¿‚ç‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚��B

$scaffold ‚ÉŠÖ‚µ‚ẮAphpMyEdit ‚Ì‹@”\‚ðŽæ‚荞‚ނ�}‚Æ‚ª‚Å‚«‚½‚çA–{‰ÆRuby on Rails ‚ð’�L‚¦‚é‚�}‚Æ‚ª‚Å‚«‚é‚ƍl‚¦‚��‚Ü‚·B‰É‚ª‚Å‚«‚½‚珑‚��‚Ä‚Ý‚½‚��‚ÆŽv‚��‚Ü‚·Bi‚µ‚©‚µ‚à‚¤ˆê‚‚̃AƒCƒfƒA‚àŽÌ‚Ä‚ª‚½‚��ccBj

posted by SDozono at 07:46| ƒƒTƒ“ƒ[ƒ‹ƒX 🌁| Comment(0) | TrackBack(0) | CakePHP Tips | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ12“ú

’¼Šï¿½L“I‚ÈCakePHP‚̃fƒBƒŒƒNƒgƒŠ\‘��

CakePHP ‚̃fƒBƒŒƒNƒgƒŠ\‘��‚Í”ñí‚É’¼Šï¿½L“I‚Å‚·B

EƒtƒŒ[ƒ€ƒ[ƒN–{‘Ì‚Í Cake ‚Ì’†‚ɁA
EŽ©•ª‚̍ìï¿½ï¿½‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́Aapp ‚Ì’†‚ɁA

•Û‘��‚µ‚Ü‚·B

ƒf[ƒ^ƒx[ƒX‚Ì’†‚ɁA—Ⴆ‚Î books ‚Ƃ��‚¤ƒe[ƒuƒ‹‚ª‚ ‚éê‡A

ƒe[ƒuƒ‹–¼Fbooks
ƒ‚ƒfƒ‹(modelƒtƒHƒ‹ƒ_‚Ì’†‚É)Fbook.php
ƒRƒ“ƒgƒ[ƒ‰(controllerƒtƒHƒ‹ƒ_‚Ì’†‚É)Fbooks_controller.php
ƒrƒ…[F(view ƒtƒHƒ‹ƒ_‚Ì’†‚É)
\books\index.thtml
\books\edit.thtml
\books\add.thtml
\books\view.thtml

‚Ƃ��‚¤”z’u‚É‚È‚è‚Ü‚·B‚Ȃ�NA‚�}‚ê‚ç‚̃tƒ@ƒCƒ‹‚ðŽèì‹Æ‚ŏ‘‚­•K—v‚Í‚ ‚è‚Ü‚¹‚ñBcake\scripts\bake.php ‚Ƃ��‚¤ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ðì‚é‚ƁAˆê”­‚ÅŽ©“®ï¿½ï¿½ï¿½ï¿½‚µ‚Ä‚­‚ê‚Ü‚·Bi‚Ù‚©‚̃e[ƒuƒ‹‚Ƃ̃ŠƒŒ[ƒVƒ‡ƒ“‚܂Őݒè‰Â”\‚Å‚·Bj

directories.PNG

posted by SDozono at 17:20| ƒƒTƒ“ƒ[ƒ‹ƒX ☀| Comment(0) | TrackBack(0) | CakePHP Tips | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é

2006”N07ŒŽ11“ú

$this->Set()–½—߂̃~ƒXƒeƒŠ[

CakePHP@‚ÍMVC(ƒ‚ƒfƒ‹Aƒrƒ…[AƒRƒ“ƒgƒ[ƒ‰)‚𕪗��‚³‚¹‚éi‚‚܂è•ÊX‚̃tƒ@ƒCƒ‹‚É•ª‚¯‚éjƒVƒXƒeƒ€‚Å‚·B‚Å‚·‚©‚ç“–‘RAƒ‚ƒfƒ‹ËƒRƒ“ƒgƒ[ƒ‰Ëƒrƒ…[‚ƁAƒf[ƒ^‚ð“n‚µ‚��‚­•K—v‚ª‚ ‚è‚Ü‚·B

ŽdŽ–‚ð‚Rl‚Å•ª‚¯‚½‚çA•K‚¸‚»‚�}‚ɃRƒ~ƒ…ƒjƒP[ƒVƒ‡ƒ“‚ª”­ï¿½ï¿½‚·‚é‚Ì‚Æ“¯‚��‚Å‚·B‚�}‚Ì‚RŽÒ‚ð‚‚Ȃ®“d˜b‚̂悤‚È‚à‚͉̂½‚Å‚µ‚傤‚©B

‚Pjƒ‚ƒfƒ‹‚©‚çƒRƒ“ƒgƒ[ƒ‰‚ւ́H

@@ƒ`ƒ…[ƒgƒŠƒAƒ‹‚È‚Ç‚É‚à‚©‚©‚ê‚��‚Ü‚·‚ªAƒRƒ“ƒgƒ[ƒ‰‚ªƒ‚ƒfƒ‹‚̏î•ñ‚ð’m‚肽‚��ê‡‚ɂ́A
@@
class PostsController extends AppController
{
@@@@‚�}‚Ì’†‚ŁA
@@@@$result = $this->Post->findAll();
@@@@‚Ȃǂ̂悤‚É‚µ‚āAPostƒ‚ƒfƒ‹‚̏î•ñ‚ðŽó‚¯Žæ‚é‚�}‚Æ‚ª‚Å‚«‚Ü‚·B
}

‚QjƒRƒ“ƒgƒ[ƒ‰‚©‚çƒrƒ…[‚ɂ́H

@‚�}‚�}‚Å“oê‚·‚é‚̂́A
@$this->set('•Ï”–¼', ƒf[ƒ^);@‚Ƃ��‚¤\•ï¿½ï¿½‚Å‚·BƒRƒ“ƒgƒ[ƒ‰‚ł�}‚ê‚ðÝ’è‚·‚é‚ƁAƒrƒ…[‚Ì’†‚Ńf[ƒ^‚ªŽæ‚èo‚¹‚Ü‚·B

@’ˆÓ‚µ‚Ä‚Ù‚µ‚��‚̂́A

@$this->set('nanika', "‚�}‚ê‚̓f[ƒ^‚Å‚·B"); ‚Ȃǂ̂悤‚É‚·‚é‚ƁA

@ƒrƒ…[‚©‚ç‚́A

echo $nanika;

@‚Æ‚µ‚ÄŽæ‚ê‚é‚Ƃ��‚¤‚�}‚Æ‚Å‚·B‚‚܂èAuset–½—߂Ńf[ƒ^‚ðƒZƒbƒg‚·‚é‚ƁAƒrƒ…[‚Ì’†‚ł͕ϐ”‚Ì–¼‘O‚É‚È‚év‚Ƃ��‚¤‚�}‚Æ‚Å‚·B‚Ü‚½A•Ï”‚Å‚à”z—ñ‚Å‚à‰½‚Å‚à“n‚·‚�}‚Æ‚ª‚Å‚«‚Ü‚·B

C‚â‚»‚Ì‘¼‚ÌŒ¾Œê‚ł́A‚�}‚́uƒf[ƒ^‚ª•Ï”‚ɉ»‚¯‚év‚Ƃ��‚¤Žg‚��•û‚Í‚ ‚܂肵‚Ȃ��‚ÆŽv‚¤‚̂ŁAÅ‰AŒË˜f‚¤‚Ƃ�}‚ë‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚Ü‚½A‚o‚g‚o‚炵‚��‚Ƃ�}‚ë‚ð‚¤‚Ü‚­Žg‚Á‚��‚é‚ÆŒ¾‚Á‚��‚��‚©‚à‚µ‚ê‚Ü‚¹‚ñBCakePHP‚ɂ̓LƒƒƒbƒVƒ…‚Ì‹@”\‚à‚ ‚è‚Ü‚·‚̂ŁA‚�}‚ê‚Æ‘g‚ݍ‡‚킹‚é‚ƁASmarty ‚È‚Ç‚ÌŠO•”‚̃eƒ“ƒvƒŒ[ƒgƒVƒXƒeƒ€‚ðŽg—p‚·‚é•K—v‚ª‚Ȃ��‚Ù‚Ç‚Å‚·B

“à•”“I‚É‚Í‚Ç‚¤‚â‚Á‚ÄŽÀŒ»‚µ‚��‚é‚©‚Ƃ��‚¤‚ƁAview.php ‚Ì’†‚ɁA

extract($___dataForView, EXTR_SKIP);

‚Ƃ��‚¤•ï¿½ï¿½‚ª‚ ‚è‚Ü‚·B‚�}‚�}‚Ńf[ƒ^‚ð•Ï”‚É“WŠJ‚µ‚��‚Ü‚·B

‚»‚¤‚��‚¦‚Î Ruby ‚É‚Í extract ‚ÉŽ—‚½ŠÖ”‚ª‚ ‚é‚Ì‚©‚ȁA‚ÆŽv‚��’²¸‚µ‚½‚Ƃ�}‚ëA‚»‚ñ‚È‚ÉŠÈ’P‚Å‚Í‚È‚³‚»‚¤H‚Å‚µ‚½B
http://www.html.com/forums/ruby/48892-extract-hash-into-local-variables.html

Ruby ‚Ì•ûARails ‚ł́A‚�}‚Ì‚ ‚½‚肪‚Ç‚ñ‚ȋ‚É‚È‚Á‚��‚é‚ñ‚Å‚µ‚傤‚©ccH

*’Ç‹L*

‚Rjƒrƒ…[i‘—MƒtƒH[ƒ€j‚©‚çƒRƒ“ƒgƒ[ƒ‰‚ɂ́H
‚�}‚ê‚Í‚¿‚å‚Á‚ƃqƒ“ƒg‚¾‚¯‘‚��‚�N‚«‚Ü‚·Bl‚¦‚Ä‚Ý‚Ä‚­‚¾‚³‚��B
ƒ}ƒjƒ…ƒAƒ‹‚̃uƒƒOEƒ`ƒ…[ƒgƒŠƒAƒ‹‚ðŒ©‚é‚ƁA

function add()
{
@@if (!empty($this->data))
@@{
@@@@if ($this->Post->save($this->data))
@@@@{
@@@@@@$this->flash('Your post has been saved.','/posts');
@@@@}
@@}
}

‚Æ‚ ‚è‚Ü‚·B $this->data ‚Ì’†‚Ƀf[ƒ^‚ª“ü‚Á‚��‚éê‡‚ɂ́Aƒf[ƒ^ƒx[ƒX‚É“o˜^‚·‚éA‚Ƃ��‚¤‚�}‚Ƃ́ccB‚Ü‚½AƒtƒH[ƒ€iƒrƒ…[j‚Ì‚Ù‚¤‚ł́A
ƒ?php echo $html->input('Post/title', array('size' => '40'))?„
‚Ə‘‚��‚Ä‚ ‚è‚Ü‚·‚ˁccB

‚Ü‚½¡“xA‚�}‚Ì•Ó‚ðÚ‚µ‚­‰ðà‚µ‚Ä‚Ý‚Ü‚·B




@@@@
posted by SDozono at 13:11| ƒƒTƒ“ƒ[ƒ‹ƒX 🌁| Comment(3) | TrackBack(0) | CakePHP Controller | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é