タグ

ブックマーク / blog.tojiru.net (4)

  • netrw.vimでディレクトリをツリー表示する

    開発にどんなツールを使うかは人それぞれですが、私はvimを使っています。 PHPフレームワークなどを使っていると、編集するファイルも増えますし、ディレクトリ構造も複雑になります。ちまちまとvim application/modules/user(略)Controller.phpなんてタイプするのはとても億劫だと思います。 なのでIDEみたいにファイラーが付属していたらなあと思って、プラグインを探したり、project.vimとかを使ったりしていたんですが、そもそも標準で付属しているnetrw.vimというプラグインのファイラー機能さえあれば事足りるなあと思って、最近はずっとそればかり使っています。 netrw.vimとは 「Network oriented reading, writing, and browsing」とあるように、ネットワーク越しにファイルを編集/閲覧することができるプラ

    netrw.vimでディレクトリをツリー表示する
    bleu-bleut
    bleu-bleut 2017/04/13
    ファイルにカーソルを合わせてenterで開く、tで新しいタブで開く。let g:netrw_liststyle = 3でツリー表示。
  • PHPとgoto文 (PHP Advent Calendar 2011 24日目)

    PHP Advent Calendar 2011の24日目です。 前日はbornknow108さんのPHPでIPMessangerでした。 何を書いてもいいとのことなので、PHPの黒歴史ことgoto文についてまとめてみます。 goto文とは goto文は、プログラム中の任意の位置にジャンプする構文です。処理を先に進めたり、戻ったりすることができます。 echo 1; goto third; echo 2; third: echo 3; //→13と表示され、2は表示されない gotoはとても低レベルな命令であり、これとif文さえあればほとんどの論理構造は書けてしまいます。要は強力すぎるため、gotoを多用して書くと大変読みにくいプログラムができあがります。 この件はDijkstra先生の論文「Go To Statement Considered Harmful」で有名になりました。プログラ

    PHPとgoto文 (PHP Advent Calendar 2011 24日目)
    bleu-bleut
    bleu-bleut 2016/08/28
    多重ループの脱出 > breakでできる、エラー処理 > try~catchでできる、リソース解放 > デストラクタでできる、だけど処理の流れを変えることができるので何か有用な使い方があるんじゃないか。
  • PHP5.5で強化されたcURL拡張でHTTP Pipeliningを試す

    先日、PHP5.5.0がリリースされましたね。さっそくビルドしてニヨニヨしているところです。 5.5の新機能と言えばGeneratorやfinallyなどですが、個人的に注目しているのがcURLの機能強化です。詳しい内容がまだ公式ドキュメントに書かれていないのですが、結構おもしろいので紹介してみます。 cURLとは何か かーると発音する人が多いようです。C言語で書かれたHTTPのclientライブラリであり、WebAPIスクレイピング、クローラなどを扱うときに非常に便利です。PHP版のバインディングは標準でPHP体にバンドルされているため、大抵のレンタルサーバーでも使えるようになっています。 ただ、オリジナルのlibcurlそのままの関数風インターフェースを踏襲しており、オブジェクト指向型のラッパーなどは用意されていないため、あまり使いやすくはありません。が、並列リクエストが可能であっ

    PHP5.5で強化されたcURL拡張でHTTP Pipeliningを試す
  • それでもPHPにfinallyが必要な理由

    PHP Conference 2012で知ったのですが、PHP5.5にはfinallyが搭載される見込みだそうです。 搭載されるのはいいのですが、昔、「PHPにfinallyはないけどデストラクタがあるよ」と題してfinally不要説を書いたことがあるので、もう少し考察を行ってみたいと思います。自分で自分に反論を書いてるのもアレなんですけど。 ※RFCは追いかけてなかったので、記事は想像で書いています。ツッコミください。 finally不要説 私が主張した内容を要約するとこんな感じです。 finallyの主な用途はファイルのクローズやDBの接続断などの「後始末処理」である。 後始末はデストラクタで行うこともできる。 PHPではデストラクタの動作が保障されている。(参照カウントによるGC) ゆえにデストラクタを正しく使えばfinallyは不要。 具体例を出すと、finallyのRFCでは例

    それでもPHPにfinallyが必要な理由
  • 1