CakePHP グローãƒãƒ«é–¢æ•°

CakePHP No Comments »

PHP ã®ãƒã‚¤ãƒ†ã‚£ãƒ–関数ã®çŸ­ç¸®è¡¨è¨˜ã«ã¯ä¸‹è¨˜ã®ã‚ˆã†ãªã‚‚ã®ãŒã‚りã¾ã™ã€‚

a() => array()
e() => echo()
low() => strtolower()
up => strtoupper()
r() => str_replace()
am() => array_merge()
h() => htmlspecialchars()

ã“ã®ã‚ˆã†ãªçŸ­ç¸®è¡¨è¨˜ã®é–¢æ•°ã‚’独自ã«å®šç¾©ã—ã¦é–‹ç™ºã«ä½¿ç”¨ã•れã¦ã„る方も多ã„ã¨æ€ã„ã¾ã™ãŒã€CakePHP ã¨ã—ã¦å®šç¾©ã•れã¦ã„ã‚‹ã¨ä½¿ç”¨ã—ã‚„ã™ã„ã§ã™ã­ã€‚(特ã«è¤‡æ•°äººã§é–‹ç™ºã—ã¦ã„ã‚‹ã¨ããªã©ã€æ¨™æº–ã§ã‚ã‚‹ã¨åŠ©ã‹ã‚Šã¾ã™ã€‚)

ã“ã®ã»ã‹ã«ã‚‚ CakePHP ã«ã¯ä¾¿åˆ©ãªé–¢æ•°ãŒå®šç¾©ã•れã¦ã„ã¾ã™ã€‚

debug($var, $showHtml);
DEBUGレベルãŒ0以外ã®ã¨ãã«ã€$varãŒå‡ºåŠ›ã•れる。
print '<pre>';
print_r($var);
print '</pre>';

ã®ã‚ˆã†ãªã“ã¨ã‚’ã—ã¦ãれã¾ã™ã€‚$showHtml㌠TRUE ãªã‚‰ãƒ–ラウザã§è¦‹ã‚„ã™ã„よã†ã«å‡ºåŠ›ã—ã¦ãれã¾ã™ã€‚
aa(‘a’,'b’)
連想é…列を作æˆã™ã‚‹ã€‚
array('a'=>'b')
ã‚’ã‚„ã£ã¦ãれã¾ã™ã€‚
h($mixed)
文字列を指定ã—㦠htmlspecialchars ã‚’ã‚„ã£ã¦ãれるãŒã€é…列も指定ã§ãる。
é…列を指定ã™ã‚‹ã¨å†å¸°çš„ã« h() を呼ã³å‡ºã—ã¦ã„る。
pr($var)
print_r をブラウザã§ã¿ã‚„ã™ã„よã†ã« <pre> ã§å›²ã‚“ã§ãれã¾ã™ã€‚echo "<pre>";
print_r($var);
echo "</pre>"
env($key)
環境変数をå–å¾—ã§ãã¾ã™ã€‚
一番ã®ç‰¹å¾´ã¯ PHP_SELF, DOCUMENTO_ROOT をサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„サーãƒã§ã‚‚動作をエミュレートã—ã¦å€¤ã‚’è¿”ã—ã¦ãれã¾ã™ã€‚コードをå†é…布ã™ã‚‹ã¨ãã«ã¯é‡å®ã—ãã†ã§ã™ã€‚
params($mixed)
文字列を返ã—ã¦ãれã¾ã™ã€‚
é…列ãªã‚‰ä¸€ç•ªæœ€åˆã®å€¤ã€æ–‡å­—列ãªã‚‰æ–‡å­—列ã€å€¤ãŒãªã‘れ㰠NULL ã‚’è¿”ã—ã¾ã™ã€‚
setUri()
ç¾åœ¨ã®URI ã‚’è¿”ã—ã¦ãれã¾ã™ã€‚
file_get_contents()
file_put_contents()
ã“ã®é–¢æ•°ãŒå®Ÿè£…ã•れã¦ã„ãªã„ PHP4.3 未満ã®ãŸã‚ã«ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆã•れã¦ã„ã¾ã™ã€‚
stripsslashes_deep($array)
$array ã¯é…列を指定。é…列ã®å…¨ã¦ã®å€¤ã«å¯¾ã—ã¦å†å¸°çš„ã« stripslashes を行ã„ã¾ã™ã€‚
countdim($array)
$array ã®é…åˆ—ã®æ¬¡å…ƒæ•°ã‚’è¿”ã—ã¾ã™ã€‚
LogError($message)
CakeLog::write を実行ã—ã¾ã™ã€‚
fileExistsInPath($file)
ç¾åœ¨ã®include パスã‹ã‚‰ $file ã§æŒ‡å®šã•れãŸãƒ•ァイルåãŒã‚ã‚‹ã‹æŽ¢ã—ã¾ã™ã€‚
見ã¤ã‹ã‚Œã°ãã®ãƒ‘スを返ã—ã€è¦‹ã¤ã‹ã‚‰ãªã‘れ㰠false ã‚’è¿”ã—ã¾ã™ã€‚
ife($condition, $var1, $var2)
$condition ㌠true ãªã‚‰ $var1 ã‚’è¿”ã—ã€false ãªã‚‰ $var2 ã‚’è¿”ã™ã€‚

使用ã—ã™ãŽã‚‹ã¨èª­ã¿ã«ãã„コードã«ãªã‚Šã‹ã­ã¾ã›ã‚“ãŒã€ã†ã¾ã使用ã™ã‚Œã°é–‹ç™ºåŠ¹çŽ‡ãŒä¸ŠãŒã‚Šãã†ã§ã™ã€‚

日本語マニュアル:Chapter 11. Cake ã®ã‚°ãƒ­ãƒ¼ãƒãƒ«å®šæ•°ã¨ã‚°ãƒ­ãƒ¼ãƒãƒ«é–¢æ•°

阪神岡田監ç£ã®é»„è‰²ã„æ™‚è¨ˆãŒæ°—ã«ãªã‚‹

阪神タイガース No Comments »

今年ã®ã‚¿ã‚¤ã‚¬ãƒ¼ã‚¹ã®ä¸ç”²æ–ãªã•ã‚‚æ°—ã«ãªã‚‹ãŒã€ãƒ†ãƒ¬ãƒ“中継を見ã¦ã„ã¦å²¡ç”°ç›£ç£ãŒã‚¢ãƒƒãƒ—ã«ãªã£ãŸã¨ãã®é»„è‰²ã„æ™‚計も気ã«ãªã‚‹ã€‚。。

ãªã‚“ã‹å­ä¾›ãŒã¤ã‘るよã†ãªé»„色ã„ãƒ™ãƒ«ãƒˆã§æ–‡å­—盤ã«ç·‘色ã¾ã§è¦‹ãˆã‚‹ã€‚ã‹ãªã‚Šæ´¾æ‰‹ã ã€‚
ã†ã¡ã®ç›¸æ–¹ãªã‚“ã‹ã€Œé˜ªç¥žã‚°ãƒƒã‚ºã˜ã‚ƒãªã„ã®ï¼Ÿã€ã¨ã‹è¨€ã£ã¦ã„ã‚‹ã—。ãれã¯çµ¶å¯¾ãªã„ã ã‚ã†ãªã€‚

ã§ã€èª¿ã¹ã¦ã¿ãŸã¨ã“ã‚ã‚¹ã‚¤ã‚¹è£½ã®æ™‚計ã§ã—ãŸã€‚
ゾディアックã®ã‚·ãƒ¼ãƒ‰ãƒ©ã‚´ãƒ³ã¨ã„ã†å•†å“ã®ã‚ˆã†ã§ã™ã€‚
価格も25,000円å‰å¾Œã¨å²¡ç”°ç›£ç£ãŒã—ã¦ã„る時計ã¨ã—ã¦ã¯å‰²ã‚Šã¨ãŠæ‰‹ã”ã‚ã§ã™ã­ã€‚

ゾディアック シードラゴン ZO2241

CakePHP ã§ãƒ“ューã§ãƒ¡ãƒ¼ãƒ«æœ¬æ–‡ã‚’作æˆã™ã‚‹æ–¹æ³•

CakePHP No Comments »

å‰å›žã®è¨˜äº‹ã§ãƒ¡ãƒ¼ãƒ«ç”¨ã®ãƒ“ューを管ç†ã™ã‚‹æ–¹æ³•を書ãã¾ã—ãŸãŒã€
今回ã¯ãƒ“ューを使用ã—ã¦ãƒ¡ãƒ¼ãƒ«æœ¬æ–‡ã‚’作æˆã™ã‚‹æ–¹æ³•ã§ã™ã€‚

剿ã¨ã—ã¦

  • メール用ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆå㯠/app/views/layouts/email.thtml ã§ç®¡ç†
  • メール本文ã«ä½¿ç”¨ã™ã‚‹ãƒ“ュー㯠/app/views/email/hoge.thtml

ã ã¨ã™ã‚‹ã¨
ob_start();
$this->render(null, 'email', '/path/to/app/views/email/hoge.thtml');
$body = ob_get_clean();
ã¨ã„ã†æ„Ÿã˜ã§ã€$body ã«æœ¬æ–‡ãŒå…¥ã‚Šã¾ã™ã€‚

ã¡ãªã¿ã«ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’指定ã—ãªã„㨠default.thtml ãŒä½¿ç”¨ã•れHTMLã‚¿ã‚°ãŒå…¥ã£ã¦ã—ã¾ã„ã¾ã™ã€‚

emial.thtml ã§

ã“ã“ã«ãƒ¡ãƒ¼ãƒ«ã®å…±é€šãƒ˜ãƒƒãƒ€ãªã©ãªã©

<?php echo $content_for_layout; ?>

-----------------------------------
ã“ã“ã«ç½²åãªã©ãªã©
-----------------------------------

ã¨ã—ã¦ãŠã‘ã°ã€HTMLタグも入らãšã«ç½²åやヘッダãªã©ã‚‚読ã¿è¾¼ã‚ã¦ã‚ˆã„ã‹ã¨æ€ã„ã¾ã™ã€‚

CakePHP ã§ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ©å以外㮠view を指定ã™ã‚‹æ–¹æ³•

CakePHP 2 Comments »

CakePHP ã§ã¯ HogeController::foo() ã«å¯¾ã™ã‚‹ãƒ“ューã¯
/app/views/hoge/foo.thtml
ã«ãªã‚Šã¾ã™ã€‚

ã“ã®ã¨ãã«ã€/app/views/hoge/foo2.thtml ã¨ã„ã†ãƒ“ューを使用ã—ãŸã„ã¨ãã¯
HogeController::foo() ã§
$this->render('foo2');ã¨æŒ‡å®šã™ã‚Œã°OKã§ã™ã€‚

今回é•ã†ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ©åã§ç®¡ç†ã—ã¦ã„るビューを使用ã§ããªã„ã‚‚ã®ã‹ã¨
/cake/libs/view/view.php
を調ã¹ã¦ã¿ãŸã¨ã“ã‚
$this->render(null, 'layout', '/path/to/app/views/email/register.thtml');ã¨ã„ã†æ–¹æ³•ã§
/app/views/email/register.thtml
ã®ãƒ“ューを HogeController::foo() ã‹ã‚‰ä½¿ç”¨ã§ãã¾ã—ãŸã€‚

render ã®ç¬¬3引数ã«çµ¶å¯¾ãƒ‘スã§ä½¿ç”¨ã—ãŸã„ビューを指定ã™ã‚Œã°OKã§ã™ã€‚
第1引数ã§ãƒ“ューåを指定ã—ã¾ã™ãŒã€ç¬¬3å¼•æ•°ãŒæŒ‡å®šã•れã¦ã„ã‚‹ã¨ç„¡è¦–ã•れã¾ã™ã€‚
ã¾ãŸã€ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã¯ç¬¬2引数ã§ãã®ã¾ã¾æŒ‡å®šã§ãã¾ã™ã€‚

ã‚ã¾ã‚Šä»–ã®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ©ã®ãƒ“ューを使用ã™ã‚‹ã“ã¨ã¯ãªã„ã¨æ€ã„ã¾ã™ãŒã€
例ãˆã°ã€ãƒ¡ãƒ¼ãƒ«é€ä¿¡æ™‚ã«ä½¿ç”¨ã™ã‚‹ãƒ“ューを
/app/views/email/
ãªã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã§ç®¡ç†ã™ã‚‹ãªã©ãŒç”¨é€”ã¨ã—ã¦è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚

PEAR ã® DB ã‹ã‚‰ MDB2 ã¸ã®ç§»è¡Œãƒ¡ãƒ¢

PHP No Comments »

ã‚„ã£ã¨MDB2 ã¸ç§»è¡Œã—ãŸã®ã§ã€ãã®æ™‚ã®ãƒ¡ãƒ¢ã€‚

DBã‹ã‚‰MDB2ã¸ã®ç§»è¡Œã¯çµæ§‹ã„ã‚ã„ã‚ãªã‚µã‚¤ãƒˆã§æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã­ã€‚
PHPã®ãƒ†ã‚¯ãƒ¡ãƒ¢ | pearã®DBã¨MDB2ã®é•ã„
DB-2-MDB2

ã“れらをå‚考ã«ã•ã›ã¦ã„ãŸã ã„ãŸã®ã§ã™ãŒã€
ç§ã¯ã‚ˆãプレイスホルダをよã使用ã—ã¦ã„ã¾ã™ã€‚

$db->getOne('SELECT * FROM users WHERE id=?", array($id));

MDB2ã§ã¯ queryOneメソッドã§ã¯ãƒ—レイスホルダãŒä½¿ç”¨ã§ããªã„ã®ã§ï¼ˆqueryRow,queryAllãªã©ã‚‚åŒæ§˜ï¼‰ç§»è¡Œã«æ‰‹é–“ãŒã‹ã‹ã£ã¦ã—ã¾ã„ã¾ã™ã€‚

å°‘ã—調ã¹ã¦ã¿ã‚‹ã¨ä¸‹è¨˜ã®ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€MDB2 ã§ã‚‚プレイスホルダãŒä½¿ç”¨ã§ãã€ã—ã‹ã‚‚ getOne ã‚„ getAll ãªã©ã®ãƒ¡ã‚½ãƒƒãƒ‰åã‚‚ãã®ã¾ã¾ä½¿ç”¨ã§ãã¾ã™ã€‚

$db->getOne('SELECT * FROM users WHERE id=?", array($id));
$mdb2->getOne('SELECT * FROM users WHERE id=?", null, array($id));

ãŸã ã€

require_once 'MDB2.php';
require_once 'MDB2/Extended.php';

㨠Extended をロードã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

瞬間接ç€å‰¤ãŒæŒ‡ã«ã¤ã„ãŸã¨ãã®å–り方

ãã®ä»– No Comments »

昨日ã€çž¬é–“接ç€å‰¤ã®ãƒ•ã‚¿ã‹ã‚‰æ¶²ãŒæ¼ã‚Œã¦ã„ã‚‹ã®ã‚’æ°—ãŒã¤ã‹ãšã«ã¤ã‹ã‚“ã§ã—ã¾ã„ã€å·¦æ‰‹ã®æŒ‡ãŒ3本ãã£ã¤ã„ã¦ã—ã¾ã†ã¨ã„ã†ãƒˆãƒ©ãƒ–ルãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚。。

ã‚ã€ç§ã§ã¯ãªãã€ç›¸æ–¹ã§ã™ã€‚

最åˆã¯ãŠæ¹¯ã«ã¤ã‘ã¦æŒ‡ã‚’ã‚‚ã‚“ã§ã¿ãŸã®ã§ã™ãŒã¾ã£ãŸãå–れãã†ã«ãªã„ã®ã§ã€
車を飛ã°ã—ã¦ãƒ›ãƒ¼ãƒ ã‚»ãƒ³ã‚¿ãƒ¼ã§çž¬é–“接ç€å‰¤ã®ãƒªãƒ ãƒ¼ãƒã‚’購入。
早速指ã«åž‚らã—ã¦æ§˜å­ã‚’見ãŸã®ã§ã™ãŒã€ã¾ã£ãŸãå–れãªã„。。。

è‡ªåˆ†è‡ªèº«ãŒæƒ…ã‘ãªã„ã£ã¦ç›¸æ–¹ã¯ã‚‚ã†æ³£ããã†ã§ã™ã‚ˆã€‚

実ã¯è»Šã§ãƒªãƒ ãƒ¼ãƒã‚’購入ã«è¡Œãå‰ã«ãƒãƒƒãƒˆã§èª¿ã¹ãŸã®ã§ã™ãŒã€
リムーãƒã®ä»–ã«é™¤å…‰æ¶²ãŒæ›¸ã‹ã‚Œã¦ã„ãŸã®ã‚’æ€ã„出ã—ã¾ã—ãŸã€‚

マニキュアã®é™¤å…‰æ¶²ã‚’指ã«åž‚らã—ã¦ã¿ã‚‹ã¨ã€ä»Šåº¦ã¯å°‘ã—æŒ‡ãŒé›¢ã‚ŒãŸæ„Ÿã˜ãŒã‚ã‚‹ã¨ï¼
ãれã‹ã‚‰ãƒ“ンã®åŠåˆ†ãらã„ã®é‡ã‚’å°‘ã—ã¥ã¤åž‚らã—ãªãŒã‚‰30分ã‹ã‘ã¦ç„¡äº‹å¼•ã離ã™ã“ã¨ãŒã§ãã¾ã—ãŸã€‚

専用リムーãƒã‚ˆã‚Šé™¤å…‰æ¶²ãŒåйãã£ã¦ã€‚。。ãŒã‚“ã°ã£ã¦ãれリムーãƒã€‚
ã¾ã‚ã€æŒ‡ã¯ãƒªãƒ ãƒ¼ãƒãŒç•™ã¾ã‚‰ãšã«è½ã¡ã¦ã„ã£ã¦ã—ã¾ã†ã‹ã‚‰ä¸åˆ©ã‹ã‚‚ã—れãªã„。
物ã¨ã‹ãªã‚‰å°‚用リムーãƒãŒåйãã®ã§ã—ょã†ã€‚ãã£ã¨ã€‚。。

CakePHP SQL を書ã„ã¦å®Ÿè¡Œã™ã‚‹æ–¹æ³•

CakePHP No Comments »

CakePHP ã§ã¯SQL を書ã‹ãªãã¦ã‚‚ã ã„ãŸã„ãªã‚“ã§ã‚‚ã§ãã‚‹ã®ã§ã™ãŒã€
ã¡ã‚‡ã“ã£ã¨SQLを書ã„ã¦å®Ÿè¡Œã—ãŸã„ã“ã¨ãŒã‚り調ã¹ãŸãƒ¡ãƒ¢ã§ã™ã€‚

/cake/libs/model/model_php5.php
を眺ã‚ã¦ã„る㨠findBySqlメソッドãŒã‚りã¾ã—ãŸã€‚
引数ã¯SQLを文字列ã§å—ã‘å–りã¾ã™ã€‚
ã“れã ï¼ã£ã¨æ€ã£ãŸã‚‰ãŸã å˜ã«

function findBySql($sql) {
return $this->query($sql);
}

ã¨ãªã£ã¦ã„る。。。
queryメソッドã«SQLを投ã’れã°ã„ã„ã‚“ã§ã™ã­ã€‚

$sql = "SELECT NOW()";
$foo = $this->HogeModel->query($sql);

CakePHP 実行ã—ãŸSQL を表示ã™ã‚‹æ–¹æ³•

CakePHP No Comments »

開発中ã«å®Ÿè¡Œã•れãŸSQLを表示ã—ãŸã„ã“ã¨ã¯å¤šã„ã¨æ€ã„ã¾ã™ã€‚

/app/config/core.php
ã®52行目ã‚ãŸã‚Šã«ã‚ã‚‹
define('DEBUG', 1);
ã‚’
define('DEBUG', 2);
ã¨ã€ãƒ‡ãƒãƒƒã‚°ãƒ¬ãƒ™ãƒ«ã‚’2以上ã«ã™ã‚‹ã¨ãƒ–ラウザã®ä¸€ç•ªä¸‹ã«SQLãŒè¡¨ç¤ºã•れã¾ã™ã€‚
デãƒãƒƒã‚°ãƒ¬ãƒ™ãƒ«3ã«ã™ã‚‹ã¨ã€ŒController dumpã€ã¨è¡¨ç¤ºã•れ
ãã®ã¨ãã®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ©ã® print_r ã¨å®Ÿè¡Œã•れãŸSQLãŒè¡¨ç¤ºã•れã¾ã™ã€‚

デãƒãƒƒã‚°ãƒ¬ãƒ™ãƒ«2ã ã¨å®Ÿè¡Œã•れãŸSQLã®ã¿è¡¨ç¤ºã•れã¾ã™ã€‚

開発時ã«ã¯é‡å®ã—ãã†ã§ã™ã€‚

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン