phpの3項演算子は真ん中を省略できる

phpの3項演算子は php 5.3 から真ん中を省略できるようです
PHP: 比較演算子 – Manual

$default = 'default';
$var = $default ? $default : 'other';

と書くところを

$default = 'default';
$var = $default ? : 'other';

でいいみたいです
知らないとびっくりしますが、いいかもしれません

英語だと Ternary Operator (3つからなる演算子) というらしいです

CakephpでJsController could not be foundのエラー

Cakephpのプロジェクトを落としてきて動かしてたらエラーが
AppControllerでエラーがとかでしたが結局

JsController could not be found

ってことらしい

そんなコントローラーあったか..と思っていましたが、jsファイルが足りてなかっただけでした
不足していたjavascriptのファイルを足せば、でなくなりました

PHPでキーがあるかの判定にissetはよくない

PHPでキーがあるかというときにissetを使ってたところがあってちょっとはまったのでメモ

issetだと

$arr = ['1' => null, '2' => 'second']
if (isset($arr['1'])) {
  // falseになり
} else {
  // こっちが実行される
}

値がnullとか0とかをfalseにされてしまいます
array_key_existsを使うのがいいです

$arr = ['1' => null, '2' => 'second']
if (array_key_exists($arr['1'])) {
  // こっちが実行される
} else {
  // 
}

keyがあるかは array_key_exists を使いましょう

PHPでOS判定をする

PHPでOS判定しました

if (PHP_OS == 'Linux') {
    // Linuxだったら..
}

として、Linux専用の処理がかけました
Windowsでファイルダウンロードするときは、SJISに変換..とかいう処理で使いました

PHP_OS は php で組み込まれてる定数でどこでも使えます
PHP: 定義済みの定数 – Manual