タグ

PHPとadventcalendar2011に関するred_snowのブックマーク (7)

  • 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日目)
  • フレームワークで語るMVCの話 : PHP Advent Calendar #19 - basuke の日記

    この記事はPHP Advent Calendarの19日目の記事です。 プログラマ10人集まれば、誰かMVCうんちく語るのが常。みんな大好きMVCの話です。僕は今年でPHPプログラマとして10年が経過しました。この節目の年に、これまで触ってきたフレームワークを振り返り、徹底的な個人的主観でMVCについて語っていきたい思います。忘年会シーズンでお疲れの皆様、ご安心ください。コード・ゼロでお届けします。 いろんな言語のいろんなフレームワークを触ってきたつもりですが、Javaはやってなかったんであまり詳しくないです。主にRails以降のフレームワークを見ていきます。 Railsの功績 PHPプログラマとしてRailsの登場で何にびっくりしたかというと、次の三つです。 router ActiveRecord cliと対話型shell ActiveRecordは魔法のように見えましたが、いずれ出ても

    フレームワークで語るMVCの話 : PHP Advent Calendar #19 - basuke の日記
    red_snow
    red_snow 2011/12/20
    Modelはどういう単位で作るべきなんだろう
  • Twigをもっと活用しよう :Symfony Advent Calender 2011 JP - 9日目 - - モノノフ日記

    Symfony Advent Calendar JP 2011 : ATND 9日目の記事です。 Symfony2.0.7が昨日リリースされましたね。今回のアップデートで個人的に熱かったのはSymfony2にバンドルされるTwigのバージョンがv1.1.2からv1.4.0へアップグレードされた所です。Twigは便利な機能もいっぱいありますのでこの機会に紹介したいと思います。 for お馴染みのループに使う構文です。一般的な使い方はこうです。 <ul> {% for item in article %} <li>{{ item.title }}</li> {% endfor %} </ul> もちろん配列の添字にもアクセスできます。 <ul> {% for key, item in article %} <li>{{ key }}:{{ item.title }}</li> {% endfo

    Twigをもっと活用しよう :Symfony Advent Calender 2011 JP - 9日目 - - モノノフ日記
  • 子プロセス制御ふたたび : PHP Advent Calendar jp 2011 Day 8 - Blog::koyhoge::Tech

    はい、7日目の @scriptwork さんのエントリ「DateTimeクラスの落とし穴と対策 : PHP Advent Calendar jp 2011 Day 7」から引き続いて、PHP Advent Calendar jp 2011の8日目なわけです。 今回は何を書こうかずいぶん悩んで、ちょうど昨晩開催されたPHP忘年会2011@関東でネタ募集したところ、@sizuhikoさんが口走ったphpQueryネタをパクるという案もあったのですが、やはり正攻法で手持ちのネタでいくことにしました。 子プロセスfork このはてなダイアリーでの数少ないPHPヒットネタとして「pcntl extensionを使って一定個数の子プロセスに作業させる方法 - Blog::koyhoge」という記事がありまして、公開した2007年以来ぼちぼちとずっとアクセスを稼いでくれております。 ただこの時に書いたサ

    子プロセス制御ふたたび : PHP Advent Calendar jp 2011 Day 8 - Blog::koyhoge::Tech
  • DateTimeクラスの落とし穴と対策 : PHP Advent Calendar jp 2011 Day 7 - ScriptWorks.JP

    PHP Advent Calendar jp 2011 7日目担当の @scriptwork です。 DateTimeクラス は PHP5.3 で日付や時刻の加減算を行う add / subメソッド や 差分を計算する diffメソッド などが追加され、日付と時刻を取り扱う面倒な処理をサポートしてくれるクラスです。 DateTimeクラス が実装されるまでは PHP関数 の strtotime() と date() で日付と時刻の加減算を行なっていましたが、2038年問題 への対応もあり、新しくコードを書くなら DateTimeクラス を使うのが良さそうですね。 とはいえ、現在の PHP5.3.8 と PHP5.4.0RC2 の DateTimeクラス は 日付の加減算 で strtotime() と 同じ問題 をかかえていますので、使い所を押さえておく必要があります。 DateTimeク

  • PHP5.4時代のprivateメソッドテスト手法 #php5_4

    PHP5.4 Advent Calendar 2011の7日目です。昨日は@madapajaさんの「PHP5.4+ で開発が行われている BEAR.Sunday フレームワークを動かしてみる」でした。 さてさて皆さん、ユニットテストしてますか? PHPもテストのライブラリが充実してきており、カバレッジ100%に情熱を燃やしている方も多いことでしょう。 ユニットテストで困るのが、private/protectedメソッドです。外から呼べないので、普通の方法ではテストできません。(protectedは適当なダミーのサブクラスを作ってそこからテストできますが、ちょっと面倒です。) まあ当然です。外から呼べないようにprivateにしているので、簡単に呼べたら逆に困るわけです。しかしながら、privateメソッドも外から呼んでテストできた方が開発ははかどるでしょう。この記事ではPHPでprivat

    PHP5.4時代のprivateメソッドテスト手法 #php5_4
  • PHP5.4+ で開発が行われている BEAR.Sunday フレームワークを動かしてみる : 今日も適当ダイアリー

    2011-12-06 PHP5.4+ で開発が行われている BEAR.Sunday フレームワークを動かしてみる ラベル: BEAR, PHP, PHP5.4 ツイート PHP5.4 Advent Calendar 2011 6日目です。 5日は @chobi_e さんによる 5.4のSession周りの変更について でした。 さて、勢いにまかせて Advent Calender に名乗り出たもののネタをどうしようか、と思っていたら、先日開催された Symfony 勉強会兼忘年会 で @koriym 師匠に出会いいたく感銘を受けました。 そこで、@koriym さんが開発をされている BEAR.Sunday を動かしてみたいと思います。 BEAR はリソース指向の PHP フレームワークで、現行のバージョンは BEAR.Saturday というコードネーム(?)で開発されています。

  • 1