• PHPに対話モードがあったというお話

    Pythonを普段から使っていて、コンソールからPythonを呼び出すとすぐに対話モードになってコードを入力するとすぐに実行できるので、関数の動作確認にものすごく重宝していたのですが、PHPにはこの対話モードなんてないだろうなぁと思っていたのですが、実はあったようです。ただ、Linuxの環境じゃないとできないらしくて、WindowsのDOSだとなぜかうまくいかなかった。いや、あるんだろうけどね。

    やりかたは簡単

    コンソールを開いて

    php -a

    とするだけ、こうすればうじゃうじゃコードを書いてすぐ実行なんてことができる。ただPythonと違うのは、ちゃんとセミコロン(;)をつけないと実行されない上に次に書くコードにも影響が及んでエラーになる。ちょっとだけ慣れが必要かなとおもうのですが、PHPは拡張モジュールの実装がめんどくさいので、ちゃんと動くかどうか調べたり、パーミッションがちゃんと有効になってるかとかいろいろとデバッグ的な使い方はできそうですね。

    対話型シェルを知らないとぜんぜん開発の効率も変わってくると思います。

    まとめ

    対話型は楽しい!

  • PHPに対話モードがあったというお話

    Pythonを普段から使っていて、コンソールからPythonを呼び出すとすぐに対話モードになってコードを入力するとすぐに実行できるので、関数の動作確認にものすごく重宝していたのですが、PHPにはこの対話モードなんてないだろうなぁと思っていたのですが、実はあったようです。ただ、Linuxの環境じゃないとできないらしくて、WindowsのDOSだとなぜかうまくいかなかった。いや、あるんだろうけどね。

    やりかたは簡単

    コンソールを開いて

    php -a

    とするだけ、こうすればうじゃうじゃコードを書いてすぐ実行なんてことができる。ただPythonと違うのは、ちゃんとセミコロン(;)をつけないと実行されない上に次に書くコードにも影響が及んでエラーになる。ちょっとだけ慣れが必要かなとおもうのですが、PHPは拡張モジュールの実装がめんどくさいので、ちゃんと動くかどうか調べたり、パーミッションがちゃんと有効になってるかとかいろいろとデバッグ的な使い方はできそうですね。

    対話型シェルを知らないとぜんぜん開発の効率も変わってくると思います。

    まとめ

    対話型は楽しい!

  • 連想配列とオブジェクトの違い

    一瞬頭がこんがらがった。記述の仕方は同じなのに、結果が出てこないし、JSONオブジェクトにも変換できない。どうしてなんだろうと思ったら、自分が記述していたのは連想配列のほうだった。

    連想配列はこんなかんじ。

    var a = [];
    a["hoge"] = 1; //a.hoge = 1;
    console.log(a);
    //結果:[]Code language: JavaScript (javascript)

    オブジェクトはこんなかんじ。

    var a = {};
    a["hoge"] = 1; //a.hoge = 1;
    console.log(a);
    //結果:Object > hoge: 1, __proto__: Object >Code language: JavaScript (javascript)

    var a = [];は var a = Array();
    var a = {}; は var a = Object();

    記述は同じだけど、中身の扱いが全く違う別物なので、初歩的ミスながら気づくのにちょっと時間がかかってしまった。