CakePHP」カテゴリーアーカイブ

CakePHP jQuery disableOnSubmitを使うときの注意

disableOnSubmitを使うときの注意点

二重送信を防止するために、jQueryのプラグインdisableOnSubmitを使うと便利だけれど、使うとname属性を取得できなくなる

以下のようにsubmitのボタンで処理を振り分けたいときには、振り分けができなくなるので注意が必要。

<?=$this->Html->script('disableOnSubmit')?>
<script>
	$(function(){
		$('form').disableOnSubmit();
	});
</script>
......
$this->Form->submit('削除', array('name' => 'delete'));
......
$this->Form->submit('修正', array('name' => 'edit'));
......

二重送信防止は修正のときだけでいいよって場合は、次のようにする。
ただしこのときも、修正のsubmitのname属性は取得できない。

<?=$this->Html->script('disableOnSubmit')?>
<script>
	$(function(){
		$('form').disableOnSubmit('.submit');
	});
</script>
......
$this->Form->submit('削除', array('name' => 'delete', 'div' => false));
......
$this->Form->submit('修正', array('name' => 'edit'));
......

ってことで、処理を振り分けたい場合は別の方法を考えないといけない。

CakePHP + NetBeans [cakephp-netbeans]

追記 2011/09/24
cakephp-netbeans pluginを少し修正したものを公開しました。
CakePHP cakephp-netbeans plugin

下記の内容は古いので上記のリンク先を参照して下さい。

★★★追記 2011/05/28 Themeを使っていると、Controller ⇔ View 間の移動は効かなくなるようです。
よってプロジェクトに小さなアイコンを表示するだけになってしまいますw
書くまでもないですが、2.0では何もかわりません。

上のプラグインを使うとTheme使用時も動きます。

今まではEclipse + Aptanaを使っていたけど、

githubにcakephp-netbeansなるものを見つけたので、NetBeansを使ってみることにした。

概要

  • cakephp-netbeansのDL
  • NetBeans 7.0開発版のDL
  • nbmファイルを作成しプラグインの追加
  • Cakephp Projectの作成

準備

下記から必要なものをダウンロードし展開しておく。(※上記の追記したリンク先を参照して下さい)

NetBeansの設定

①プラグインの追加
[Tools]->[Plugins]->[Available Plugins]
NetBeans Plugin Development

②cakephp-netbeans のプロジェクトの追加
[File]->[Open Project]
展開したフォルダを指定する。

③nbmファイルの作成
※最初にプロジェクトのプロパティを開いてSource level が1.5になっていることを確認。(1.6だとエラーだった。。。ここでしばらくはまってしまったorz)
自分がforkしてコードを追加しているものはソースコードは1.6で動くはずです。
追加したプロジェクト(CakePHP Framework)の上で右クリック -> Create NBM
Filesタブをクリックするとbuildというディレクトリが作成されていて
org-cakephp-netbeans.nbmというファイルが作成されます。

④プラグインの追加
①と同様で[Downloaded]タブを開き、
Add Pluginsボタンをクリック
③で作ったnbmファイルを追加

これでCakePHP Framework Pluginが追加される。

でも、見た目は何がかわったのかサーっパリわかんね。。。

CakePHP Projectの作成

新規にPHPプロジェクトを作成し、cakephpの中身のフォルダを全部入れるだけ。
(app/ cake/ 等)

通常のPHPプロジェクトの表示の右上に小さくCakePHPのロゴが表示されます。

何ができるの???

gitのREADMEファイルには、
actions: bake, go to view, go to action
と記載されています。

ということで、bakeができるんだな。
あとは何だ?って思っていたけど、操作しているときに気がつきました。

Controllerのaction とviewのファイルを行き来できるようです。

具体的には、
HogeContorllerのindex()メソッドの中で、
[右クリック]->[Navigate]->[Go to View]

Viewのindex.ctpファイルで
[右クリック]->[Navigate]->[Go to Action]

ってすれば、お互いのファイルに飛びます!!

右クリック面倒!!ってなときは
[Tools] ->[Options]->keymap

PHP: Go to Action or View
にショートカットキーを割り当てればOKです。

それでもう一つのbakeの方は、
CakePHPプロジェクトの上で
[右クリック] -> [CakePHP] ->[Bake]
で動くようです。

でも使い方がわかりません。。。orz
知っている人がいたら教えてください。。
Outputs – bake
っては表示されるけれど、どう使えばいいのだか。。。
bake
bake model
等入力してみましたが、何も起きない。

CakePHP キリ番判定Component

一般的なキリ番を判定するComponentを作成してみました。

使いどころはあまりないかも知れませんが、
カウントを判定して、Twitterでつぶやくなどですかね。。。

使い方

  1. Controllerに追加
  2. Controllerの$kiribanでオプションの変更
  3. $this->Kiriban->isKiriban($number);戻り値は判定したキリ番の種類or false

判定の種類

2桁以上の数字を判定します。

  • ゾロ目
  • ミラー
  • 単位
  • カウントアップ
  • カウントダウン

コード

【修正 : 2011/04/19】
eregの部分をpreg_matchに変更しました。