CakePHP1.2 文字コードを EUC-JP ã«è¨­å®šã™ã‚‹

CakePHP No Comments »

ç¾åœ¨é–‹ç™ºã—ã¦ã„ã‚‹ã‚·ã‚¹ãƒ†ãƒ ãŒæ–‡å­—コードを EUC-JP ã§åˆ¶ä½œã—ãªã‘れã°ã„ã‘ãªã„ã®ã§ã™ãŒã€ä»Šã¾ã§ CakePHP 㯠UTF-8 ã§ã—ã‹åˆ¶ä½œã—ãŸã“ã¨ãŒãªãã€è¨­å®šæ–¹æ³•ãªã©ãƒ¡ãƒ¢ã—ã¦ãŠãã¾ã™ã€‚開発ã«ä½¿ç”¨ã—ã¦ã„ã‚‹ã®ã¯ CakePHP1.2 ã§ã™ã€‚

ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æ–‡å­—コード

app/config/database.php

var $default = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => 'localhost',
    'port' => '',
    'login' => 'user',
    'password' => 'password',
    'database' => 'database_name',
    'schema' => '',
    'prefix' => '',
    'encoding' => 'ujis'
);

EUC ã®ã¨ã㯠encoding ã« ujis ã¨è¨­å®šã—ã¾ã™ã€‚
ã¡ãªã¿ã«
Shift-JIS ã®ã¨ã㯠sjis
UTF-8 ã®ã¨ã㯠utf8
ã¨ã—ã¾ã™ã€‚
ã“れ㯠MySQL ã® SET NAMES ã§ãã®ã¾ã¾ä½¿ç”¨ã•れるãŸã‚ã§ã™ã€‚

ã‚·ã‚¹ãƒ†ãƒ ã®æ–‡å­—コード

CakePHP1.2 ã§ã¯ä¸‹è¨˜ã®ã‚ˆã†ã«è¨­å®šã—ã¾ã™ã€‚
app/config/core.php
Configure::write('App.encoding', 'euc-jp');

CakePHP 1.1 ã®æ–¹æ³•ã¯ã¡ã‚‡ã£ã¨ã‚³ãƒ¼ãƒ‰ã‚’調ã¹ãŸã®ã§ã™ãŒã€ core.php ãªã©ã«ã‚‚特ã«è¨­å®šã™ã‚‹ã¨ã“ã‚ãŒãªã分ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚分ã‹ã‚‹æ–¹ã„らã£ã—ゃã£ãŸã‚‰æ•™ãˆã¦ãã ã•ã„。

CakePHP PHP4 ã®ã¨ã findByカラムåã®æ³¨æ„点

CakePHP No Comments »

ç¾åœ¨é–‹ç™ºã—ã¦ã„るシステムã§åˆã‚㦠PHP4 ã§ CakePHP を使用ã—ã¦ã„ã¾ã™ã€‚

PHP4 ã§ CakePHP を使用ã™ã‚‹ã¨ãã®æ³¨æ„点ã§ã™ã€‚

ユーザID ã§æ¤œç´¢ã™ã‚‹ã¨ãã« findBy カラムåをよã使ã„ã¾ã™ã€‚
$this->Model->findByUserId($user_id);

ã“れを PHP4 ã§ä½¿ç”¨ã™ã‚‹ã¨ãã¯
$this->Model->findByUser_Id($user_id);
ã¨ã‚¢ãƒ³ãƒ€ãƒ¼ãƒãƒ¼ã‚’入れる必è¦ãŒã‚りã¾ã™ã€‚

QRコード生æˆãƒ„ールを作りã¾ã—ãŸ

作æˆã‚µã‚¤ãƒˆ 2 Comments »

ã¡ã‚‡ã£ã¨ä»•事㧠QR コードをã„ã˜ã‚‹æ©Ÿä¼šãŒã‚ã£ãŸã®ã§ã›ã£ã‹ããªã®ã§ QR コードを生æˆã™ã‚‹ãƒ„ールを作ã£ã¦ã¿ã¾ã—ãŸã€‚

QRコード無料作æˆãƒ„ール – QRcodeMaker

3é€šã‚Šã®æ–¹æ³•ã§ QR コードを生æˆã§ãã¾ã™ã€‚

  • URLを入力ã—㦠HTMLタグを生æˆã™ã‚‹
  • img ã‚¿ã‚°ã«å¼•数を与ãˆã¦ç”Ÿæˆã™ã‚‹
  • JavaScript をページã«è¨­ç½®ã—ã¦ç”Ÿæˆã™ã‚‹

最åˆã®2ã¤ã¯ã‚ˆãã‚ã‚‹ã‘ã©ã€æœ€å¾Œã®JavaScript を貼り付ã‘ã¦ãã®ãƒšãƒ¼ã‚¸ã® URL ã® QR コードを生æˆã™ã‚‹ã®ã¯è¦‹ãŸã“ã¨ãŒãªã„ã®ã§ã‚ˆã„ã‹ã¨ã€‚
共通ã®ãƒ†ãƒ³ãƒ—レートを使用ã—ã¦ã„ã¦ãƒšãƒ¼ã‚¸æ¯Žã«ãれãžã‚Œã® URL ã® QR コードを表示ã—ãŸã„å ´åˆãªã©ã«ä¾¿åˆ©ã‹ã¨æ€ã„ã¾ã™ã€‚(需è¦ãŒã‚ã‚‹ã‹åˆ†ã‹ã‚Šã¾ã›ã‚“ãŒã€‚。。)

実際ã«ã“ã®ã‚¨ãƒ³ãƒˆãƒªã« JavaScript を貼り付ã‘ã¦ã¿ã¾ã—ãŸã€‚下㮠QR コードãŒãれã§ã™ã€‚

よã‚ã—ã‘れã°ä½¿ã£ã¦ã¿ã¦ãã ã•ã„。

CakePHP1.2 ã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³

CakePHP 12 Comments »

CakePHP 1.2 を使用ã—ã¦ãƒ•ォームを作æˆã—ã¦ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’使用ã—ãŸãƒ¡ãƒ¢ã§ã™ã€‚

下記サイトをå‚考ã«ã•ã›ã¦ã„ãŸã ãã¾ã—ãŸã€‚
cakePHP 1.2ã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ç†è§£ã™ã‚‹ – cakephp – クロアãƒã‚¢ã§åƒãプログラマー日記

例ã¨ã—ã¦ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’2回入力ã•ã›ã‚‹ãƒ•ォームを考ãˆã¦è¦‹ã¾ã™ã€‚
ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ãƒ«ãƒ¼ãƒ«ã¨ã—ã¦

  • 必須項目
  • メールアドレスã¨ã—ã¦æ­£ã—ã„
  • メールアドレスãŒãƒ¦ãƒ‹ãƒ¼ã‚¯
  • 2回入力ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒä¸€è‡´ã™ã‚‹

モデルã«ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’定義ã™ã‚‹

var $validate = array(
    'email' => array(
        'unique' => array(
    	    'rule' => array('checkUnique', 'email'),
    	    'message' => 'ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯æ—¢ã«ç™»éŒ²ã•れã¦ã„ã¾ã™'
    	),
        'rule1' => array(
       	    'rule' => array('email'),
       	    'message'=>'ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£ã—ãã‚りã¾ã›ã‚“'
      	 ),
        'required' => array(
       	    'rule'=>VALID_NOT_EMPTY ,
       	    'message' => '必須項目ã§ã™'
       	),
    ),
    'email_confirm' => array(
        'rule1' => array(
    	    'rule'=> array('checkCompare'),
    	    'message'=>'一致ã—ã¾ã›ã‚“'
    	),
    ),
);

ç§ã¯ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³å®šç¾©ã«ã¾ã¨ã‚ã¦ãŠããŸã„ã®ã§ã€ä¸Šè¨˜ã®ã‚ˆã†ã«å„ルールã«
'message' => 'エラーメッセージ'
ã¨ã—ã¦å®šç¾©ã—ã¦ã„ã¾ã™ã€‚
ã“ã“ã§å®šç¾©ã—ã¦ãŠã‘ã°ã€å¾Œã§ãƒ“ãƒ¥ãƒ¼ã«æ›¸ãフォームヘルパーã§ãƒ•ォームを出力ã™ã‚‹ã¨ãã«å¼•ã£ã‹ã‹ã£ãŸã‚¨ãƒ©ãƒ¼ã‚’自動的ã«å‡ºåŠ›ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

ã¾ãŸã€è‡ªåˆ†ã§ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³é–¢æ•°ã‚’作æˆã—ã¦ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ãれ㌠checkUnique 㨠checkCompare ã§ã™ã€‚

メールã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ãƒã‚§ãƒƒã‚¯ã¯å‚考サイトをå‚考ã«ã•ã›ã¦ã„ãŸã ãã¾ã—ãŸã€‚

function checkUnique($field){
    foreach( $field as $key => $value ){
        $this->recursive = -1;
        $found = $this->find(array("{$this->name}.$key" => $value));
        return !$found;
    }
}

次ã«ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’2回入れãŸã‚‚ã®ãŒä¸€è‡´ã™ã‚‹ã‹ã®ãƒã‚§ãƒƒã‚¯ã§ã™ã€‚
ã“れã¯ãƒ‘スワードãªã©ã§ã‚‚ãŸã¾ã«ä½¿ç”¨ã™ã‚‹ã®ã§æ±Žç”¨æ€§ã‚’æŒãŸã›ã¦ã‚りã¾ã™ã€‚
例ãˆã°ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãƒ•ィールドå㌠email ã®å ´åˆã€ç¢ºèªç”¨ã®ãƒ•ィールドå㯠‘_confirm’を付ã‘㦠email_confirm ã¨ã—ã¦ãŠã‘ã°ã“ã®2ã¤ãŒä¸€è‡´ã™ã‚‹ã‹ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚

function checkCompare($field) {
    foreach( $field as $key => $value ){
        if (preg_match('/^(.+)_confirm$/', $key, $regs)) {
            return $this->data[$this->name][$regs[1]] == $this->data[$this->name][$key];
        }
    }
}

ビューã§ãƒ•ォームを設定

<?php echo $form->input('User/email', array('type'=>'text')); ?>
<?php echo $form->input('User/email_confirm', array('type'=>'text')); ?>

ã“ã®ã‚ˆã†ã«æ›¸ã„ã¦ãŠã‘ã°ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚‹å ´åˆã¯ã€ãƒ¢ãƒ‡ãƒ«ã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã«å®šç¾©ã—ãŸã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’自動的ã«å‡ºåŠ›ã—ã¦ãれã¾ã™ã€‚

ã¡ãªã¿ã«ä¸Šè¨˜ã®ã‚ˆã†ã«æ›¸ã㨠input ã‚¿ã‚°ã®å‰ã« email ãªã©ã®ãƒ•ィールドåãŒå‡ºåŠ›ã•れã¾ã™ã€‚ã“れを消ã—ãŸã„å ´åˆã¯
<?php echo $form->input('User/email', array('type'=>'text', 'label'=>'')); ?>
ã¨æ›¸ãã¨è¡¨ç¤ºã•れãªããªã‚Šã¾ã™ã€‚

追記:
ã‚³ãƒ¡ãƒ³ãƒˆã§æ•™ãˆã¦ã„ãŸã ãã¾ã—ãŸã€‚label=>” ã ã¨è¡¨ç¤ºã•れãªã„ãŒã€label ã‚¿ã‚°ã¯æ®‹ã‚‹ã®ã§
<?php echo $form->input('User/email', array('type'=>'text', 'label'=>false)); ?>
ã¨ã™ã‚‹ã¨ãƒ©ãƒ™ãƒ«ã‚¿ã‚°ã‚‚出力ã•れãªããªã‚Šã¾ã™ã€‚

コントローラã§ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯

以下ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

function action() {
    if ($this->data) {
        if ($this->User->create($this->data) && $this->User->validates()) {
	    // ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³OK
	}
    }
}

ä»–ã«ã‚‚ã„ã‚ã„ã‚フォーム気ãŒã¤ã„ãŸç‚¹ãŒã‚ã£ãŸã®ã§ãれã¯ã¾ãŸå¾Œã§ã¾ã¨ã‚ã¾ã™ã€‚

CakePHP Ajax ã®ãƒ•ォームを作æˆã™ã‚‹

Ajax, CakePHP 5 Comments »

今ã•らãªã®ã§ã™ãŒ CakePHP1.1 ã§ Ajax ã®ãƒ•ォームを作æˆã™ã‚‹ã¨ã„ã†ã®ã‚’ã‚„ã£ãŸã®ã§ãƒ¡ãƒ¢ã—ã¦ãŠãã¾ã™ã€‚

Ajax , Javascript ヘルパーを使用ã§ãるよã†ã«ã™ã‚‹

コントローラ㧠Ajax, Javascritp ヘルパーを使用ã§ãるよã†ã«ã™ã‚‹ã€‚
var $helpers = array('Ajax', 'Javascript');

prototype.js を読ã¿è¾¼ã‚€

webroot/js ã« prototype.js ã‚’é…ç½®ã—ã€ãƒ“ューã§èª­ã¿è¾¼ã¿ã¾ã™ã€‚
<?php echo $javascript->link('prototype'); ?>

ビューã§ãƒ•ォームを作æˆã™ã‚‹

今回㯠submit ボタンを押ã—ãŸå¾Œã€æ›´æ–°ä¸­ã«ã¯ submit ボタンを消ã—ã¦å¤‰ã‚りã«ã€Œæ›´æ–°ä¸­ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã€æ›´æ–°çµ‚了後ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ボタンã®ä¸‹ã® id=ajax_message ã«è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚

<?php
$options = array(
    "update" => "ajax_message",
    "loading" => "Element.hide('ajax_button'); Element.show('ajax_loading');",
    "complete" => "Element.show('ajax_button'); Element.hide('ajax_loading');",
    );
echo $ajax->form("/controller/action/", "post", $options);
?>
<?php echo $html->input('Model/Field', array('type'=>'text')); ?><br>
<input type="submit" id="ajax_button">
<div id="ajax_loading" style="display:none;">更新中...</div>
<div id="ajax_message"></div>

$ajax->form ã® $options ã®
“update” ã§æ›´æ–°ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸é ˜åŸŸã‚’指定ã—ã€
“loading”ã§ã‚¢ãƒƒãƒ—ロード中ã®å‹•ãã€
“complete” ã§å‡¦ç†çµ‚了後ã®å‹•ã
を指定ã—ã¦ã„ã¾ã™ã€‚

コントローラ㫠Ajax ã§å‡¦ç†ã™ã‚‹ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’作æˆ

function action() {
    $this->layout = 'ajax';
    /* $this->data ã«ãƒ•ォームã®å†…å®¹ãŒæ¸¡ã‚‹ã®ã§å¿…è¦ãªå‡¦ç†ã‚’書ã */
    $this->Model->id = $this->data['Model']['id'];
    $this->Model->saveField("Field", $this->data['Model']['Field'], true);
}

$this->layout ã§ ‘ajax’ を指定ã—ã¦ä½™è¨ˆãªãƒ˜ãƒƒãƒ€ã€ãƒ•ッタãŒå‡ºãªã„よã†ã«ã—ã¾ã™ã€‚

Ajax ã§å‡ºåŠ›ã™ã‚‹ãƒ“ューを作æˆã™ã‚‹

上ã®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ©ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã§å‡ºåŠ›ã™ã‚‹ãƒ“ューを作æˆã—ã¾ã™ã€‚
上ã®ä¾‹ã§ã¯ saveField ã§ãƒ•ォームã‹ã‚‰é€ã‚‰ã‚Œã¦ããŸãƒ‡ãƒ¼ã‚¿ã‚’使用ã—ã¦æ›´æ–°å‡¦ç†ã—ã¦ã„ã¾ã™ã€‚ãã®çµæžœã«ã‚ˆã£ã¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ä¿¡ã—ã¾ã™ã€‚

<?php
if($msg=$error->messageFor('Model/Field')) {
    echo $msg;
} else {
    echo "æ›´æ–°ã—ã¾ã—ãŸ";
}
?>

CakePHP1.2 ãƒãƒƒãƒå‡¦ç†

CakePHP 1 Comment »

CakePHP1.2 ã«ã‚·ã‚§ãƒ«æ©Ÿèƒ½ã¨ã„ã†ã®ãŒã‚ã‚‹ã®ã‚’知りã¾ã—ãŸã€‚下記エントリã§ãƒ¡ãƒ¼ãƒ«ã‹ã‚‰ã®å‡¦ç†ã‚’実際ã«è¡Œã†æ–¹æ³•ãŒç´¹ä»‹ã•れã¦ã„ã¾ã™ã€‚
メールå—ä¿¡ã‹ã‚‰ã®ã‚·ã‚§ãƒ«æ©Ÿèƒ½å®Ÿè¡Œ – Writing Some Code

ã¡ã‚‡ã†ã© CakePHP1.2ã§é–‹ç™ºä¸­ã®ã‚·ã‚¹ãƒ†ãƒ ã§ cron ã§ã®ãƒãƒƒãƒå‡¦ç†ãŒã‚ã‚‹ã®ã§ãれã«å¿œç”¨ã—ã¦ã¿ãŸã¨ãã®ãƒ¡ãƒ¢ã§ã™ã€‚

ãƒãƒƒãƒå‡¦ç†ã§å®Ÿè¡Œã•ã›ã‚‹ã‚·ã‚§ãƒ«æ©Ÿèƒ½ã‚’作æˆ

今回㯠test ã¨ã„ã†åå‰ã®ã‚·ã‚§ãƒ«åã«ã—ã¾ã™ã€‚
app/vendors/shells/test.php を作æˆã—ã¾ã™ã€‚

< ?php
class TestShell extends Shell {

    var $uses = array('Model');

    function actionName(){
        /* 実際ã®å‡¦ç†ã‚’書ãã¾ã™ */
        /* $this->uses ã«è¿½åŠ ã—ãŸãƒ¢ãƒ‡ãƒ«ãŒä½¿ç”¨ã§ãã¾ã™ */
        $lists = $this->Model->findAll();
    }
}
?>

シェルスクリプト

下記ã®ã‚ˆã†ãªã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トを作æˆã—㦠cron ã‹ã‚‰å®Ÿè¡Œã•ã›ã¾ã™ã€‚

#!/bin/sh
cd /path/to/app
../cake/console/cake test actionName

シェルスクリプトãªã—ã§ç›´æŽ¥ cake を実行ã™ã‚‹æ–¹æ³•ã‚‚ã‚ã‚‹

cake を実行ã™ã‚‹ã¨ãã«ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒ app ã§ãªã„ã¨ã ã‚ãªã®ã§ã™ãŒã€
-app /path/to/app
ã®ã‚ˆã†ã« -app オプションã§å®Ÿè¡Œæ™‚ã« app ã®ãƒ‘スを指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
ãã®å ´åˆã¯ä¸‹è¨˜ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
/path/to/cake/console/cake test actionName -app /path/to/app
ã“れを直接 cron ã‹ã‚‰å®Ÿè¡Œã•ã›ã‚Œã°ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トãªã—ã§ã‚‚実行ã§ãã¾ã™ã€‚

ãã®ä»–

vendors/shells 内ã®ãƒ•ァイルã§ã™ãŒã€ãƒ•ァイルå㌠hoge_foo.php ã ã£ãŸå ´åˆã€ã‚¯ãƒ©ã‚¹å㯠HogeFooShell ã§ã™ãŒã€å®Ÿè¡Œã™ã‚‹ã¨ãã¯
cake/console/cake hoge_foo actionName
ã¨ãªã‚‹ã‚ˆã†ã§ã™ã€‚

CakePHP PDT ã®è£œå®Œæ©Ÿèƒ½ã‚’ビューã®ãƒ˜ãƒ«ãƒ‘ーã§ä½¿ç”¨ã™ã‚‹æ–¹æ³•

CakePHP, Eclipse No Comments »

CakePHP ã®ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã« PDT を使用ã—ã¦ã„ã‚‹ã®ã§ã™ãŒã€ãƒ“ューã§è£œå®Œæ©Ÿèƒ½ã‚’使用ã§ãるよã†ã«ã™ã‚‹æ–¹æ³•ãŒç´¹ä»‹ã•れã¦ã„ã¾ã—ãŸã€‚

Eclipse PDTã§CakePHP開発ã€ã¾ãšè¨­å®šã™ã¹ãã“㨠– Writing Some Code

ãƒ“ãƒ¥ãƒ¼ã®æ‹¡å¼µå­ï¼ˆ.ctp, .thtml) ã‚’ PHP ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¨ã—ã¦ç™»éŒ²ã—ã¦ã€ã•らã«ãƒ“ューã§ä½¿ç”¨ã™ã‚‹ãƒ˜ãƒ«ãƒ‘ーã®å„クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作るファイルをプロジェクトã«ä½œæˆã—(場所ã¯ã©ã“ã§ã‚‚ã„ã„よã†ã§ã™ï¼‰PDT ã«æ•™ãˆã¦ã‚ã’るよã†ãªæ„Ÿã˜ã§ã™ã­ã€‚

ã¾ãŸã€ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ©ã§ä½¿ç”¨ã™ã‚‹ãƒ¢ãƒ‡ãƒ«ã‚„コンãƒãƒ¼ãƒãƒ³ãƒˆã«ã‚‚補完機能を使用ã§ãるよã†ã«ã™ã‚‹æ–¹æ³•も紹介ã•れã¦ã„ã¾ã™ã€‚

 class AppController extends Controller {
  /**
   * @var Model
   */
  var Model;

  /**
   * @var SessionComponent
   */
  var $Session;

下記サイトもå‚考ã«ãªã‚Šã¾ã—ãŸã€‚
Code completion in views with Eclipse PDT – cakebaker
Eclipse code completion in Views – Cake PHP | Google グループ

Eclipse ã§ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’ç°¡å˜ã«é–‹ãプラグイン

Eclipse No Comments »

bakeã™ã‚‹ã®ã«åœ°å‘³ã«ä¾¿åˆ©ãªEclipseプラグイン – Writing Some Code

CakePHP ã§é–‹ç™ºã‚’行ã†ã¨ãã«æœ€è¿‘ PDT を使用ã—ã¦ã„ã¾ã™ã€‚CakePHP ã®bake ã‚’ã™ã‚‹ã¨ããªã©ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‹ã‚‰è¡Œã„ã¾ã™ãŒã€Eclipse ã®ã‚¨ã‚¯ã‚¹ãƒ—ローラã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã—ã¦ç›´æŽ¥ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’é–‹ã„ã¦ãれるプラグイン㌠Writing Some Code ã•ã‚“ã§ç´¹ä»‹ã•れã¦ã„ã¾ã—ãŸã€‚

Eclipse プラグイン

コマンドライン以外ã§ã‚‚エクスプローラã§ã‚‚é–‹ã‘ã‚‹ã®ã§çµæ§‹ä¾¿åˆ©ã§ã™ã€‚Eclipse ã®ã‚¨ã‚¯ã‚¹ãƒ—ローラã‹ã‚‰é–‹ããŸã„フォルダをå³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œãƒ•ォルダを開ãã€ã®ä¸­ã«ã‚ã‚‹ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’é¸æŠžã™ã‚‹ã ã‘ã§ã‚¨ã‚¯ã‚¹ãƒ—ローラやコマンドラインを開ã‘ã¾ã™ã€‚

CakePHP1.2 モデルã®ãƒ“ヘイビアを動的ã«åˆ‡ã‚Šæ›¿ãˆã‚‹

CakePHP No Comments »

CakePHP 1.2 ã‹ã‚‰è¿½åŠ ã•れãŸãƒ“ヘイビアãŒå‹•çš„ã«è¿½åŠ ã€å‰Šé™¤ã§ãるよã†ã«ãªã‚‹ã‚ˆã†ã§ã™ã€‚
Attaching and detaching model behaviors on-the-fly – cakebaker

以å‰ã€CakePHP メールé€ä¿¡è¨±å¯ãƒ•ラグã«ã‚ˆã£ã¦ãƒ¡ãƒ¼ãƒ«ã‚’一斉é€ä¿¡ã™ã‚‹ãƒ¡ãƒ¼ãƒ«ãƒ“ヘイビア を書ã„ãŸã¨ãã«åˆã‚ã¦ãƒ“ヘイビアã¨ã„ã†ã®ã‚’使ã£ãŸã®ã§ã™ãŒã€ãƒ“ヘイビアã¨ã„ã†ã®ã¯ã†ã¾ã使ãˆã°ã‹ãªã‚Šä¾¿åˆ©ã‹ãªã¨æ€ã„ã¾ã—ãŸã€‚

モデルã«
var $actsAs = array('BehaviorName');
ã¨æ›¸ãã“ã¨ã«ã‚ˆã‚Šä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚‹ã®ã§ã™ãŒã€ç¾åœ¨é–‹ç™ºä¸­ã® CakePHP1.2 ã§ãƒ“ヘイビアãŒãƒ¢ãƒ‡ãƒ«ã« attach , detach ã§ãるよã†ã«ãªã‚‹ã‚ˆã†ã§ã™ã€‚

ダウンロードã§ãる最新㮠CakePHP 1.2.0.6311-beta ã«ã¯ã¾ã å…¥ã£ã¦ã„ã¾ã›ã‚“ãŒã€ä»¥ä¸‹ã‚ˆã‚Š model.php ã®ã‚½ãƒ¼ã‚¹ã‚’手ã«å…¥ã‚Œã¦
cake/libs/model/model.php
ã«å…¥ã‚Œã‚‹ã“ã¨ã«ã‚ˆã£ã¦è©¦ã™ã“ã¨ãŒã§ãã¾ã™ã€‚
model.php ã®ã‚½ãƒ¼ã‚¹

モデルã«ãƒ“ヘイビアをアタッãƒã€ãƒ‡ã‚¿ãƒƒãƒã™ã‚‹ã®ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

$this->Model->attach('BehaviorName');
$this->Model->dettach('BehaviorName');

第2回CakePHP勉強会

CakePHP 1 Comment »

第2回CakePHP勉強会
events.php.gr.jp

å‰å›žã¯ä»•事ã§å‚加ã§ããšã€ä»Šåº¦ã“ãã¨æ€ã£ã¦ã„ãŸã®ã§ã™ãŒæ°—ãŒã¤ã„ãŸã¨ãã«ã¯ã‚ã£ã¨ã„ã†é–“ã«åŸ‹ã¾ã£ã¦ã„ã¾ã™ã­ã€‚ã™ã”ã„人気ã ã€‚。。

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