CakePHPでコントローラーより前にユーザーネームなどを動的に入れたいときのルーティング方法
domain.com/username/controller/action
のようなルーティングをやりたいときの方法。
なおCakePHPにはプレフィックスルーティングという方法がありますがプレフィックスを事前に決めておかないといけないので動的に設定したい場合に困る。
方法は特に難しいことはなく、routes.phpにルーティングの設定を書けば良い。
Router::connect( '/:username/:controller/:action/*', array('username' => '[a-z]+') );
usernameは正規表現で好きなように定義できます。
アクセス方法
任意のコントローラーで
pr($this->params['username']);
てな感じで取れます。
CakePHPのフォームで確認アラートを出す方法メモ(CakePHP2.x版)
3年前に書いた記事はCakePHP1.3だったので今更ながら2.xようの書き方を。
<?php echo $this->Form->submit('Delete', array( 'url' => '/users/delete', 'id' => 'Delete', 'onClick'=>'return confirm("OK?");' ) ); ?>
リモートサーバー上のファイルをローカルのSublime Textで編集する
普段はSublime Textで作業しているけどsshでリモートサーバーにログインしてサーバー設定するときはvimを使うというような人はたくさんいるかと思います。
ちょっとした設定くらいならvimでもいいんだけど書く量が多い場合はSublime Textで書きたいと思う人もいるんじゃないでしょうか。 rsubなんですが、rsubをサーバーにインストールするとリモートサーバー上のファイルをSTで編集できるようになっちゃいます。
もともとはTextMate2にあるrmateという機能でSSHトンネルを作ることでこの機能を実現してます。 これをSublime Text用にしたものがrsubです。Sublime Text 2, Sublime Text 3どちらでも動きます。
導入方法 Ctrl+Shift+Pでコマンドパレット開いてInstall Packageでrsubを選んでインストールしてください。ST側はこれだけ。 続いてsshの設定。
sshのconfigファイルを書きます。
~/.ssh/config
Host hogehoge HostName xxx.xxx.xxx.xxx User hoge identityfile ~/.ssh/User/id_rsa RemoteForward 52698 127.0.0.1:52698
サーバーにSSHログイン
ssh hogehoge
rsubをインストール
sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate sudo chmod +x /usr/local/bin/rsub
あとはrsubコマンドでファイルを開くとSublime Textが立ち上がります。
sudo rsub ~/PATH/TO/FILE/hoge.txt
sudo実行時にcommand not foundとか怒られたら$PATH通ってないので通しましょう。
sudo visudo Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/local/bin:/usr/bin
これで動きました。
ST側でsaveするとちゃんと反映されます。
[参考サイト]
Sublime Tunnel of Love: How to Edit Remote Files With Sublime Text via an SSH Tunnel | Limina.Log
rmateをサーバーにインストールしてリモートのファイルをTextMate2で編集する方法 - memo.yomukaku.net
Azureで価格帯A0でVM作った時にMySQLが起動しない問題
socketファイルとかパーミッションとか見て設定したけどだめ。
原因はこの記事と完全に同じ問題でメモリ不足。
Amazon EC2 の t1.microインスタンスでMySQLがよく落ちる – blog.hereticsintheworld
freeコマンドでSwapがなかったらSwap領域作りましょう。
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 sudo mkswap /swapfile sudo swapon /swapfile
最後にfreeコマンドでSwap領域が増えてることを確認できたらおk
CakePHPのフォームで確認アラートを出す方法メモ
<?php echo $form->create('Delete', array('url' => '/users/delete', 'id' => 'Delete','onsubmit'=>'return confirm("本当に削除してもいいですか?");')) ?>
太字の部分を書き足すだけ。簡単
CakePHPのフォームで郵便番号から住所の自動補完機能実装でつまずいたのでメモ
最初に試したのはajaxzip2
【配布元】http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html
CakePHPだと少し修正が必要とのことで以下の記事を参照した。
【参考記事】http://d.hatena.ne.jp/cakephper/20100216/1266293151
普通に動いた!
と思ったら動いたり動かなかったりと不安定。
他のjqueryプラグインとバッティングしてるのか。
他の自動補完プログラム入れようとしたけどajaxzip2の動きが一番好きだったので諦めきれない。
色々調べているとajaxzip3なるものがあるじゃないか!
【コレ】http://code.google.com/p/ajaxzip3/
こいつかなり強力。設置めちゃ簡単。CakePHPとか気にする必要全くなし。
ヘッダーでスクリプト読み込んで、
<scriptsrc="http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js"charset="UTF-8"></script>
<inputtype="text"name="zip01"size="10"maxlength="8"onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
<inputtype="text"name="pref01"size="20">
<inputtype="text"name="addr01"size="60">