Member Overall Coordinator Yuichi Abe Developer / Programmer Daisuke Masuda Yoshikazu Taniguchi
以åéä¸ã¾ã§ä½ã£ã¦ããcakephpã®ã·ã¹ãã æ¡ä»¶ãæ¥é½åãåºãã ãã£ã¼ã«ãã®ä¿®æ£ãªã©æ§ã æç´ãä¸ã«çºçãæ¶çµ¶ããç¹ãã¡ã¢ãã¾ãã ä¿®æ£ã«å¾ããã£ã¼ã«ãã追å ãããã¼ã¿ãç»é²ãä¿®æ£ãããã¨ããã¨ããã å ¥åå 容ãå ¨ãåæ ãããã解決çãè¦ãã ããªãã¾ã¾ä½æ¥éãæ¾ç½®ãã¾ãããã ãããè¨ã£ã¦ãããªãã®ã§ãçæãããã¾ãæ©ããã¨1æ¥ã ããã§ã°ã¼ã°ã«å çã«èããã¨ãã解決çããããªã«ãã£ããè¦ã¤ããã¨ã¯ã»ã»ã»ã åèï¼ãã£ã¼ã«ã追å ï¼ã¦ã¼ã¶ã¼ãã©ã¼ã©ã ï¼ è¥å¹²è¤éæªå¥ãªãã¨ãããã¦ããã®ã§èªåã®ã³ã¼ãã«ééããããã« éããªãã¨æã£ã¦ããã®ã§ããããã§ã¯ãªãã£ãããã§ãã ãapp/tmp/cache/modelsãä¸ã«ã¢ãã«ã®ãã£ãã·ã¥ãããããã®ä¸èº«ãä¸åº¦ æ¶å»ããã°è¯ãã¨ã®ãã¨ã ããããããã£ãã·ã¥ã ã¾ãããã®ä¸ã®äººããã£ããããã¦ããéããéçºä¸ã¯ã/app/config/cor
ä½ãå¤ãªqueryãMySQLã«æãã¦ãã¾ã£ã¦ 2012-05-26 18:23:21 Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`user_logs`, CONSTRAINT `user_logs_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)) ã¿ãããªæãã§PDOExceptionãçºçããå ´åã«ãã©ããªSQLãå®è¡ããã®ããããããªãã¦å°ã£ãã®ã§èª¿ã¹ãã debugã¢ã¼ãã§ããã°queriesLogã«ä¿åããã¦ãããè¦ãã°ãããã®ã ãã©ãæ¬çªã ã¨queriesLogã«ã¯ä¿åãããªãã®ã§ããã ã¨
ãããã¯ã·ã§ã³ç°å¢ã«ç½®ããCakePHP2.2ã®ããã°ã©ã ãæ¸ãæãã¦ãæ°ãããã¼ãã«ã追å ããæ°ããã¢ãã«ã追å ãããã¨ãã¾ããã ããããªããããã¼ãã«ããªãã¨ãããããªã¨ã©ã¼ãåºã¾ããã Table graphs for model Graph was not found in datasource default. ãã¼ãã«ã¯è¿½å ããã¦ãããã¨ã©ã¼ãåºã ãã¼ãã«ã¯ç¢ºãã«è¿½å ãã¾ããã create table if not exists graphs ( id int unsigned primary key auto_increment, user_id int unsigned not null, name varchar(64) not null, public boolean not null, created timestamp not null, modified t
å æ¥CakePHPã使ã£ãã·ã¹ãã ãä½ãã¾ããã ãµã¼ãç°å¢ã®é½åã§ãã¼ã¸ã§ã³ã¯1.3.14ãDBã¯MySQLã§ãã¼ãã«æ°15ãã³ã³ããã¼ã©æ°19ãã¢ãã«æ°25ããã¥ã¼æ°47ï¼layoutsãelementsçãå«ãã¦ï¼ã¨ãã£ãè¦æ¨¡ã®ã·ã¹ãã éçºã§ãããã空ãæéã使ã£ã¦2ã¶æç¨åº¦ã§ä½æãã¾ãããï¼ç®¡ç使¥ãé¤ã製é é¨åã®å®å·¥æ°ã§è¨ãã°ãå¤ãã«è¦ã¦ããã®3åã®1ä½ã ã¨æãã¾ããï¼ éçºç°å¢ã¨ãã¦ä¸çªæé¦´ããCodeIngniterãæ¨ä»ã®ã©ã¤ã»ã³ã¹åé¡ã§ç©æ¥µçã«ä½¿ããããªãã£ããã¨ããã¾ãæéçãªä½è£ãç¡ãã£ããã¨ãããåãã¯Smary+PEARã©ã¤ãã©ãªã§ã®ç¥ããæ§æã§ããªããã¨æãã¾ãããããã£ããã®æ©ä¼ã«æ°ããFWãçµé¨ãããã£ãã®ã§CakePHPã使ã£ã¦ã¿ã¾ããã å¤å°å¦ç¿ã«è¦å´ã¯ãããã®ã®ãçµæã¨ãã¦äºæ³ãã¦ããç¯å²å ã®å·¥æ°ã§ä»ä¸ãããã¨ãã§ããããã«CakePHPã«æ £ãããã¨ã
CakePHPã®Modelã«æ©ã人ãå¤ããããªã®ã§ãèªåãªãã®ä»ãåãæ¹ï¼èãæ¹ï¼ããç´¹ä»ãã¾ãã CakePHP Advent Calendar 2010ã®3æ¥ç®ã§ãã åæ¥ã® k1LoW ããã®ã¨ã³ããªãåèã«ãªãã¾ãããGETã®ãã©ã¼ã ãdata[]ã§ããã¨URLããããããã¨ã«ãªãã®ã§ãã¦ãã§ã¯å¥é対å¿ã§ããã©ã¤ãã©ãªãä½ã£ãããã¦ã¾ãã ãã¦ã3æ¥ç®ã®ä»æ¥ã¯æ¸ããããã¿ã¯å¹¾ã¤ããã£ãã®ã§ããããåã®å½ããåã«åãã¯æåããããããã ãã®ç²¾ç¥ã«å¾ã£ã¦ãèªåãªãã®Modelã®ä½¿ãæ¹ãèãæ¹ãæ¸ãã¦ã¿ã¾ãã 1. 驿£ãªã¤ã³ã¿ã¼ãã§ã¤ã¹ãç¨æãã¦å¦çãã«ãã»ã«å ã¾ãåºæ¬çãªèãæ¹ã Modelï¼ã«éããã§ããï¼ã§ã¯ãå¦çåä½ã§ã¤ã³ã¿ã¼ãã§ã¤ã¹ï¼ã¡ã½ããï¼ãç¨æãã¦ãå®è£ ã¯ã«ãã»ã«åãã¦ããã¾ãã ãããããã¨ã«ãã£ã¦ãModelãå©ç¨ããå´ï¼Controllerãä»ã®Modelçï¼ã¯
ã¿ãªããããã«ã¡ã¯ã ä»åã¯CakePHP2ã§ã¦ããããã¹ããããæ¹æ³ãæ¸ãã¦ããã¾ãã åã¯æè¿ãã£ã¨CakePHPã使ãå§ãã¦1å¹´çµéãã¾ããããå¤å°å¤§ããªéçºã«ãªãã¨ãã¯ããã¹ããæ¸ããã»ããæ©ãéçºãåºæ¥ã¾ããã ã¾ãããã¯ããªãã¨ãã£ã¦ããã¹ããããã¨ã¨ã«ããå®å¿ããï¼âããå¤§äº éçºãé²ãã¦ããã«ããã£ã¦ãå®å¿ã¨ãããã®ã¯æé«ã«éè¦ã§ããã åã¯æ®æ®µå¿ããã¦ããrouteã®ãã¹ããã¢ãã«ã®ãã¹ãã¯å¿ ãæ¸ãããã«ãã¦ãã¾ãã æä½éãããã¸ãã®ãã¹ããæ£å¸¸ã§ããã°åãã®ã§ã viewã¨controllerã¯å¤æ´ãæ¿ããã®ã§ãªããªãæ¸ããªããã§ããã©ãããã ãã¦ãåç½®ãã¯ãããããã«ãã¦ãããããä½åãã«ãã㦠route.phpã®ãã¹ã Modelã®ãã¹ã Controllerã®ãã¹ã Viewã®ãã¹ã ãæ¸ãã¦ããããã¨æãã¾ãã ããã§ã¯ä»åã¯route.phpã®ãã¹ããæ¸
CakePHPã§ãµã³ãã«ããã°ã©ã ã使ãã¦ã¿ã 㨠CentOSã«xdebugã¨phpunitãã¤ã³ã¹ãã¼ã«ãã¦ã¿ã ã®ç¶ã CakePHPã§ä½æãããµã³ãã«ã®ããã°ã©ã ããã¹ããã¦ã¿ãã ãã«ãã¼ã®ãã¹ã app/Test/Case/View/Helper/PriceHelperTest.php ã使ããã <?php App::uses('Controller', 'Controller'); App::uses('View', 'View'); App::uses('PriceHelper', 'View/Helper'); /** * PriceHelperã®ãã¹ã */ class PriceHelperTest extends CakeTestCase { /** * åæè¨å® */ public function setUp() { parent::setUp(); $C
ã¯ããã« ãã®ã¨ã³ããªã¼ã¯ TDD AdventCalendar 2013 ã®ç¬¬21ç®ã®è¨äºã§ãã 忥ã®ã¨ã³ããªã¼ã¯ãtq_jappyããã«ãããã¬ã¬ã·ã¼ãã¹ãã³ã¼ãæ¹åã¬ã¤ã #TddAdventJpãã§ããã ãããã Advent Calendar ååå ã§ããã©ãããããããé¡ããã¾ãã ãã®è¨äºã§ã¯ä¸»ã« TDD ã¨ã¯ãªã«ãèãããã¨ã¯ãããã©ãå®è·µãããã¨ã¯ãªããã¨ãããããªæ¹ã対象ã«ã CakePHP 㨠PHPUnit ã使ã£ã TDD ã®é²ãæ¹ããç´¹ä»ãããã¨æãã¾ãã CakePHP 㨠PHPUnit ã¯ããããéçºç°å¢ã«ã¤ã³ã¹ãã¼ã«ããã¦ã使ããç¶æ ã«ãªã£ã¦ãããã¨ãä»®å®ãã¾ãã æºå ã¾ã㯠CakePHP ã¤ã³ã¹ãã¼ã«ç´å¾ã®ããã®ç»é¢ãåºãã¨ããããå§ãã¾ãã ä½ããã¹ãããã ä»åã¯ãã¹ã対象ã¨ãã¦ãã½ã¼ã·ã£ã«ã²ã¼ã ã§ãããããããªå¦çãåãä¸ãã¦ã¿ããã¨æã
CakePHPã¨ããã1ã¤ã®ãã¬ã¼ã ã¯ã¼ã¯ã®ä¸ã§ã®ã1ã¤ã®ã¨ããæ¹ã«ã¤ãã¦ã¯ ä»ã®æ¹ã®åçãåèã«ãªãã¨æãã¾ããã䏿©å¼ãã¦ä¸è¬çã«MVCã¨ãµã¼ãã¹ã¨ããã®ãã©ãããé¢ä¿ã«ããã®ããããããã®è¨èã®æå³ã¨ããç¹ã§åçãã¾ãã 質åã§ã¯MVCã«ã¤ãã¦ã次ã®ããã«æ¸ããã¦ãã¾ãã ã³ã³ããã¼ã©ã¯ã¦ã¼ã¶ããã®è¦æ±ã«å¯¾ãã¦å¿ è¦ãªå¦çãæ½åºãã ãã¥ã¼ã¯çµæãªã©ãä¼ããããã«è¡¨ç¤ºãããã®ã ã¢ãã«ã¯ã³ã³ããã¼ã©ããè¦æ±ãããå¦çãã¾ã¨ãã¦ãããã®ã ã¨èªèãã¦ãã¾ãã ãã®åé¡ã¯ãããªã«ééã£ã¦ããã¨ãããã¨ã¯ããã¾ãããããããå®éãã³ã³ããã¼ã©ããè¦æ±ãããå¦çãã«ã¯ãããããªç¨®é¡ã®ãã®ãããã¾ãããã¨ãã°ã DBã«æ å ±ãä¿åããï¼DBããæ å ±ãåå¾ãã ã¡ã¼ã«ãéä¿¡ãã ã¢ãããã¼ããããç»åãã¡ã¤ã«ã®ãµã ãã¤ã«ã使ãã ãããã¾ãããããã®ä½ãã¢ãã«ã§ãä½ããã¸ãã¹ãã¸ãã¯ã§ãä½ããµã¼ãã¹
CakePHP 1.2.2ãå©ç¨ãã¦ã¾ãããã®è©±ã¯1.2ã ã£ããã©ãã§ãé©ç¨ã§ããã¨æãã¾ãï¼cake1.1ã¯åããã¾ããï¼ ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ CakePHP2ã§ããã°ãModel::query()ããæ¬ä¼¼bindã§ã¯ãªãPrepared Statementã§SQLçºè¡ããã®ã§å®å¿ã§ã http://d.hatena.ne.jp/cakephper/20120204/1328324327 ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ã¼ éè¨ç¨SQLãªã©ãSQLãè¤éã«ãªã£ããããå ´åããSQLæãç´æ¥æ¸ããã»ããéçºå¹çãä¸ããåæã«é¢ãã¦ã¯ãModel::query()ãå©ç¨ãã¦ãä¸è¨ã®ããã«ç´æ¥SQLæãçºè¡ãã¦ã¾ãã $this->Model->query("SELECT `Post`.`id` FROM `posts` AS `Post` WHERE `Post`.`id`
CakePHPã使ã£ãMVCè¨è¨ã®ãã¹ããã©ã¯ãã£ã¹ å人çã«ã¯CakePHPã¯ãã¾ã好ãã§ã¯ãªãã®ã§ãããCakePHPéçºã¡ã³ãã¼ã«ããMVCãã¶ã¤ã³ã®è¨äº (CakePHP ã®ããããé£ã¹æ¹)ã§ç´¹ä»ããã¦ããBest Practices in MVC Design with CakePHP (php|architectâs C7Y)ã¯MVCãã¬ã¼ã ã¯ã¼ã¯å©ç¨è ã«ã¨ã£ã¦ã¨ã¦ãæç¨ãªæ å ±ã ã£ãã®ã§ã訳ãã¦ã¿ã¾ãã(php|architectã®æ¹ã«ã¯ç¿»è¨³è¨±å¯ãé ãã¦ãã¾ã)ã ãã®è¨äºãèªãã§ãã¡ã¤ã³ã¢ãã«ã«èå³ãæã£ãæ¹ã¯ãã¨ã³ã¿ã¼ãã©ã¤ãº ã¢ããªã±ã¼ã·ã§ã³ã¢ã¼ããã¯ãã£ãã¿ã¼ã³(PoEAA)ãDomain-Driven Design: Tackling Complexity in the Heart of Softwareã«æãåºãã¦ã¿ãã®ããããããä»ã«ãInfoQã«ã¦ã¼ã¶ã¼ç»é²ãã
èªä½ã®ã³ã³ãã¼ãã³ãã§ã¢ãã«ã使ãã¨ãã¯ã©ããã¦ãã¾ããï¼ ã³ã³ããã¼ã©ã§usesãã¦ããã¢ãã«ã§ããã° class HogeComponent extends Component { public function initialize(Controller $controller) { $this->controller = $controller; } // ã³ã³ããã¼ã©ã§usesãããã¢ãã«ã使ã public function test() { $this->controller->{ã¢ãã«å}->find(...); } } ã¨ãããªæãã§ä½¿ãã¾ãããcontrollerã¨æ¸ããªããã°ãªããªãåè¨è¿°ãé·ããªãããå¼ã³åºãå ã®ã³ã³ããã¼ã©ã§usesãã¦ããªãã¨ã¨ã©ã¼ã«ãªã£ã¦ãã¾ãã¾ãããã ãªã®ã§ãæè¿ã¯èªä½ã®ã³ã³ãã¼ãã³ãã«ä»¥ä¸ã®ãããªã¡ã½ãããä½ã£ã¦å©ç¨ãã¦ãã¾ãã priv
CakePHP3ãããããåºãä¸ãCakePHPã«ãããæ¬çª/éçºç°å¢ã®åãæ¿ãæ¹æ³ã«ã¤ãã¦åèã§ãã .htaccessã«å¤å®ç¨ã®ç°å¢å¤æ°ãè¨å® ããæ°å¹´ãCakePHPã«ãããæ¬çª/éçºç°å¢ã®åãæ¿ãæ¹æ³ã¨ãã¦CAKE_ENV_MODEã¿ãããªç°å¢å¤æ°ã.htaccessã¨ãã«è¨å®ãã¦ãããã§CakePHPå é¨ã§æ¡ä»¶åå²ããã¦ããã®ã§ããã ããCakeShellã使ããã¨ããã¨ãã¯å¥éã·ã§ã«å´ã§ãç°å¢å¤æ°ãèªã¾ãªãã¨ãããªã ã¨ãããã¡ãªããããã£ã¦ãæ§ç¯ããã·ã¹ãã ã«ãã£ã¦ã¯2ç®æã«ç°å¢å¤æ°ãè¨å®ããªãã¨ãããªãã®ãé¢åã ã¨æã£ã¦ãã¾ããã Capistranoã§æ¬çªç¨ãã¡ã¤ã«ãã¢ãããã¼ã æè¿ã¯Capistranoãå©ç¨ãã¦ãããã¤ããããã¨ãããã®ã§ãCapistranoå´ã®æ©æ§ã§database.phpãbootstrap.phpãªã©ã®æ¬çªç¨ãã¡ã¤ã«ãã¢ãããã¼ãããã¨ãã
This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release! REST¶ æè¿ã®ã¢ããªã±ã¼ã·ã§ã³ããã°ã©ãã¼ã¯ããµã¼ãã¹ã®ã³ã¢æ©è½ã ã¦ã¼ã¶ã«ãªã¼ãã³ã«ããå¿ è¦ãããã¨æ°ä»ãå§ãã¦ãã¾ãã ç°¡åã«æä¾ã§ããèªç±ã«ã³ã¢APIã«ã¢ã¯ã»ã¹ã§ããã°ãåºãåãå ¥ãããã ããã·ã¥ã¢ãããããããç°¡åã«ä»ã®ã·ã¹ãã ã¨çµ±åã§ãã¾ãã ç°¡åã«ããªãã®ä½ã£ãã¢ããªã±ã¼ã·ã§ã³ãã¸ãã¯ã«ã¢ã¯ã»ã¹ãããæ¹æ³ã¯è²ã ããã¾ããã REST ã¯ãã®ä¸ã§ããã°ãããæ¹æ³ã§ããããã¨ã¦ãã·ã³ãã«ã§ã大æµã¯ XML ãã¼ã¹ (SOAP ã®ãããªãã®ã§ã¯ãªããåç´ãª XML ã®ãã¨) ã§ãHTTP ãããã«ãã£ã¦å¶å¾¡ããã¾ãã CakePHP ã使ã£ã¦ REST ã® API ãæ
CakePHPã§RESTful APIãä½ã£ã¦ãBackbone.jsã®ãã¼ã¿ã®æ°¸ç¶åããµã¼ããµã¤ãã§è¡ãæ¹æ³ãã¡ã¢ãã¦ããã¾ããRESTful APIã¯ãFuelPHPçããã®ä»ã®PHPãã¬ã¼ã ã¯ã¼ã¯ãRuby on Railsçã§ãç°¡åã«ä½æãããã¨ãã§ãã¾ãã®ã§ãåã 好ããªãã®ã鏿ãã¦ãã ãããããã§ã¯ãCakePHPã使ã£ãä¾ã示ãã¾ãã ããã§å¶ä½ããã¢ããªã±ã¼ã·ã§ã³ã¯ã以ä¸ãããã¦ã³ãã¼ãã§ãã¾ãã Backbone ToDos with CakePHP RESTful API â GitHub éçºç°å¢éçºç°å¢ã¯ä»¥ä¸ã®éãã§ããããããå·çæç¹ã§ã®ææ°ãã¼ã¸ã§ã³ãç¨ãã¾ããã ã½ããã¦ã§ã¢ãã¼ã¸ã§ã³
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}