CakePHP Routerで簡単なURLチェックをする場合

ようやくRouterの使い方が分かってきたつもりです。
/foo/edit/5 のようなよくある更新用のURLの場合、
routes.phpに何も書かなくても、foo_controller.phpを

class FooController extends AppController {
    function edit($id=null) {
    }
}

としてしまえば、fooコントローラのeditアクションに$id=5が引数として値が入ります。
ただ、/foo/edit/ や /foo/edit/bar などといった可能性もありうるので$idのチェックが必要となります。

そこで、routes.phpに

Router::connect('/foo/edit/:foo_id',array('controller'=>'devices','action'=>'detail'),array('foo_id'=>'[0-9]+'));

と記述することで、foo_controller.phpは

class FooController extends AppController {
    function edit() {
        if(isset($this->params['foo_id'])) {
        } else {
        }
    }
}

として、$this->params['foo_id']には正規表現の値しかセットされなくなり、
URLのチェックが簡単に行えるようになります。

カテゴリー: CakePHP | コメントをどうぞ

CakePHP Controllerでもバリデーションエラーを追加する場合

通常はModelでする事なんだろうけど思いつかなかったのでControllerでしてしまいました。
その時、モデルのバリデーションと同じエラーとして扱いたかったので、

    $this->モデル名->validationErrors['empty'] = 'データが空です';

これで済ませようとしましたが、モデルにメソッドが存在するはずだと思いソースを読んでみるとありました。

    $this->モデル名->invalidate('empty','データが空です');

これでview側でエラーを取得できます。

カテゴリー: CakePHP | コメントをどうぞ

PHP5.2に–with-mcryptを追加

後から、mcryptが必要とわかったので、
libmcryptをインストール

tar xvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install

PHPも再インストール

cd /usr/local/src/php-5.2.15/
make clean
./configure --prefix=/usr/local/php --enable-mstring --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-zlib --with-mcrypt

で、失敗。

/usr/bin/ld: cannot find -lltdl

調べてみると、以下のような感じで上手くいった

cd /usr/local/src/libmcrypt-2.5.8/
make clean
./configure --disable-posix-threads
make
make install
cd libltdl
./configure --enable-ltdl-install
make
make install
cd /usr/local/src/php-5.2.15/
make clean
./configure --prefix=/usr/local/php --enable-mstring --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-zlib --with-mcrypt
make
make install
カテゴリー: 未分類 | コメントをどうぞ

Ubuntu10.10にPHP5.2をインストール

Ubuntu10.10にはPHP5.3が入るみたいなので、
PHP5.2をソースからインストール。

cd /usr/local/src/
sudo wget http://jp.php.net/get/php-5.2.15.tar.gz/from/this/mirror
sudo tar xvf php-5.2.15.tar.gz
cd php-5.2.15
sudo ./configure --prefix=/usr/local/php --enable-mbstring --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-zlib
sudo make
sudo make install

途中で、エラーが出たのでパッケージを追加したり、ソースからインストール

configure error xml2-config not found. please check your libxml2 installation

sudo apt-get install libxml2-dev
configure: error: Cannot find libz

cd /usr/local/src/
sudo wget http://zlib.net/zlib-1.2.5.tar.gz
sudo tar xvf zlib-1.2.5.tar.gz
cd zlib-1.2.5
sudo ./configure
sudo make
sudo make install
configure: error: libpng.(a|so) not found.

sudo apt-get install libpng12-dev
カテゴリー: 未分類 | コメントをどうぞ

msysgitの文字化け

やはりWindowsで文字化けしたので、その対策を・・・

msysgitはC:/Apps/PortableGit/に展開済。

vim
vimは適当なところに解凍(自分はC:/Apps/vim)。
utf-8で使うので、
C:/Apps/vim/vimrcに下記を追記

set enc=utf-8    " 表示用の文字コード
set fenc=utf-8    " 保存時の文字コード
set fencs=ucs_bom,utf-8,ios-2022-jp,euc-jp,cp932,utf-16,utf-16le " 文字コード自動判別候補

lessコマンド
C:/Apps/PortableGit/binにless.exeを上書き

nkfコマンド
C:/Apps/PortableGit/binにnkf.exeを上書き

C:/Apps/PortableGit/etc/inputrcに下記を追記

set convert-meta off
set meta-flag on
set output-meta on
set kanji-code utf-8

C:/Apps/PortableGit/etc/profileに下記を追記

export GIT_PAGER=nkf -s | less

Gitコマンドで

git config --global core.editor "C:/Apps/vim/gvim.exe"
カテゴリー: 未分類 | コメントをどうぞ

Trac + SVN を Redmine + Git に変更

今まで、TracとSVNで開発を行っていました。
特に不満があるわけではないですが、使ってみたいという欲求から
Redmine + Gitに変更してみました。

環境はWindows Serverで利用していたので、
Redmineは BitNami :: Redmine を利用し、
Gitは msysgit を利用することにしました。

SVNからGitへの移行は以下。

mkdir sample.git
cd sample.git
git --bare svn clone -T trunk -b branches -t tags http://svnurl.com/ ./
カテゴリー: 未分類 | コメントをどうぞ

CentOS5インストール

まずは、参考にしたサイト
CentOS 5 – インストール : Server World

インストールディスクは、32ビットOSを取得
http://isoredirect.centos.org/centos/5/isos/i386/

今回は、VMwareを利用することに

「ENTER」を押して

「Skip」を選択

「Next」を選択

日本語が便利かと思い「日本語」を選択

キーボードも日本語を使っているので「日本語」を選択

VMware上にインストールするので初期化する。「はい」を選択

デフォルトで作成するつもりなので「次」を選択

「はい」を選択

利用するIPとか決めていたので「編集」を選択

IPv4にIPとネットマスクを入力し、IPv6はチェックを外して、「OK」を選択

タイムゾーンを選択して、チェックは外して、「次へ」

ルートのパスワードを入力して「次」へ

必要なソフトウェアを選択して「次」へ

「次」

しばらく待って

完了。そして「再起動」

カテゴリー: 未分類 | コメントをどうぞ

Gitの利用

普段はSVNを利用してますが、

Gitも触ってみたいのでmsysgitをインストールしました。

参考にしたページはこちら

ポータブル版msysgit(Git on Windows) 1.6.3のインストール – さかぐちのはてな日記.

そして、チートシートも取得

Git Cheat Sheet 日本語版 | textdrop.

で、チートシートに書かれていなかったけど、自分が使ったコマンドは

git mv

ファイルの移動というかリネームとして使いました。

あまり深く考えないでファイル名をつけてしまうので変更が多いです。

カテゴリー: 未分類 | タグ: | 1件のコメント

CORESERVERにWordPressをインストール

CORESERVERにWordPressをインストールする上で迷った部分はモジュール版ではセーフモードが有効であるということ。

で、

PHPをCGIとして動かす方法について – CORESERVER.JP:コアサーバー

セーフモード対策(XREA ・ CORESERVER) – WordPress カスタマイズ

を参考にして.htaccessを作成してアップロード。

これでインストール完了画面までいけました。

カテゴリー: 未分類 | タグ: , | コメントをどうぞ