メーデー
きょうの予定
- ドメイン有効期限確認
休日出勤 (ただしカレンダー通り)
うちの会社はメーデーは休みだが,今年は今の取引先に合わせて出勤。 自社的には休日出勤扱いになる。 5 月 1 日を振り返ってみると,入社以来初めてかもしれないな,メーデーに出勤したのって。
先週くらいから PHP でごりごりコーディングしてるのだけれど,Java や C のローカル変数の「ブロックスコープ」にすっかり慣れ親しんだ身としては,PHP のローカル変数の「ローカルスコープ」が不気味で,なかなか違和感が拭えない。 少しでもスコープを狭くするために,関数を細かく分けて設計するのであった。
- Java のソースコードイメージ
void myMethod(Foo foo) throws MyException { List<Bar> barList; // ここで宣言しておかないと,try ブロックの外でアクセスできない try { barList = foo.getBar(); } catch (FooException e) { throw new MyException("bar できなかったよ", e); } if (barList == null || barList.isEmpty()) { .... } ....
- PHP のソースコードイメージ
function myFunction(Foo $foo) { try { $bar = $foo->getBar(); } catch (FooException $e) throw new MyException('bar できなかったよ', 100, $e); } if (empty($bar)) { // try ブロックの外でもアクセスできる .... } ....
言語仕様とは関係なくサブシェル (別プロセス) で実行される部分だけ変数が別物扱いされてしまうシェルスクリプトが一番厄介だったり。