CakePHPは自身のフレームワークを活用したコードをサーバー側で実行するシェル機能があります。ブラウザのHTTPリクエストに頼らず実行でき、バッチ処理などに活用できます。忘れないうちにメモっておこう。
/path/to/app/vendors/shells/batch.php
にファイルを作る。「batch.php」としたが名前は何でも良い。
<?php
class BatchShell extends Shell {
var $uses = array('Model');//モデルを使用する場合指定しておく
function main() {
//ここにコードを書く
}
}
?>
デフォルトでは、main()メソッドが実行されます。
次にシェルスクリプトを用意。
/path/to/sh/batch.sh
#!/bin/sh
/usr/local/bin/php /path/to/cake/console/cake.php batch -app /path/to/app
シェルスクリプトはあらかじめ実行権限を付けておく。
スクリプト中のパスはサーバーに合わせて適時変更します。
あとはLinuxの場合、cronで実行するように設定する。
スクリプト中の以下のコマンドを直接cronで設定しても動くと思う。
/usr/local/bin/php /path/to/cake/console/cake.php batch -app /path/to/app
参考
CakePHP製のPC+携帯混合のWebサイトで、404のエラー画面が、携帯サイトでもPCと同じでかくてたくさんの画像いっぱいのエラー画面になって問題になりました。
原因を調べていたら、携帯版でもエラー画面はPC用レイアウトとして使っていた「default.ctp」を使用してしまうことが判明(携帯版では「mobile.ctp」を使用していた)。
そこで、CakePHPで404のエラー画面を別のレイアウトで表示するように変更してみた。
<?php
class AppError extends ErrorHandler {
function error404($params) {
$this->controller->layout = "simple";
parent::error404($params);
}
}
?>
携帯でもPCでも表示できるような簡単なHTMLでレイアウトファイル「app/views/layouts/simple.ctp」を作成する。これで携帯版でもPCばりの画像が出なくなり、シンプルなエラー画面になりました。
参考
旧名「Web屋に復帰した人間のリハビリ日記」からブログ名を変更しました。そろそろ「リハビリ」はもういいだろうと。
題して「Web Tech Log by 1KB」。
またおかげさまでアクセス数も緩やかながら増えてきています。これからもWebに関するネタを書き綴って行くつもりです。微力ながらWebクリエイターな皆様に役に立つような記事を書いていきたいと思います。
1KBのデバイスログ
別館の「1KBのデバイスログ」(こちらは趣味のブログ?)共々よろしくお願いいたします。
ついでにWordPressのデザインも変更してみました。モノクロームなイメージはそのままに、ちょっとした気分転換です。
Webデザインするとき、配色って難しいですよね。理論とかわからないので、フィーリングや、ぱくり引用でやってしまうものです。「Adobe Kuler」というAdobe が運営するサイトでさまざま配色パターンが公開されています。ユーザー自身も配色パターンを投稿できるので、CGMサイトサイト的な面があっておもしろいです。キーワードから色のイメージを検索してみると、いろいろな発見があります。使用方法は以下のリンクをご参考に。
それともう一つ。KulerのAIRのデスクトップアプリ版もあるんです。その名もkuler desktop。
なによりもインターフェースがかっこいいですね。とりあえず起動しておきデスクトップの端に置いておいて、煮詰まったときに適当なキーワード入れればインスピレーションがわくかもしれませんね。
今頃気付いた自分。Googleのトップページから「I’m Feeling Lucky」ボタンがいつの間にか無くなっていました。
そもそも「I’m Feeling Lucky」ボタンとは?
↑2008年の画面。「Google 検索」ボタンの横についていたボタンで、入力したキーワードの検索第一位のページに検索結果を出さずに直接リダイレクトする機能。
どうやら2月上旬にトップページのリニューアルして、そのときに外したらしいです。
便利でたまに使ってたんですけどね。このボタンは検索結果を表示しないので広告が出せないから外したんでしょうか?年120億円の損失って話もあるし…。
でも検索クエリのパラメータはまだ有効のようです。
http://www.google.co.jp/search?q=searchword&btnI=tekitou
って感じで、「&btnI=xxx」を追加(=の後は何でもいい)してあげれば「I’m Feeling Lucky」と同じようにリダイレクトしてくれます。
なので、自分用のGoogle検索画面を作ってしまった。(フィッシングではありません)