‘PHP’ カテゴリーのアーカイブ
2010 年 5 月 13 日 by sou — Mac OS X, PHP, 開発環境

ruby 界隈でよく使われている自動テストツール autotest の Symfony + Lime 用スタイルを書いて公開しました。
プロジェクトのローカルルールに合わせてあるのですが、軽く手を入れれば他のプロジェクトでも、また Symfony や PHP 以外でも使えると思います。
- TDD で書いていないと不安が高じて動悸と息切れが始まる
- red-green-refactoring を唱えなさいとじっちゃに言われた
- growl の red を見ないとコードが先に進まない
よくある話だと思います。
まずテストが無いと何も始まらない!書いたテストはがんがん自動実行して使い倒したい!
となるとやはり、自動テストの出番ですね。
(続きを読む…)
2009 年 7 月 14 日 by hnw — PHP
PHP 4.4.0以降およびPHP 5.0.5以降では、最大の整数が定数PHP_INT_MAXとして定義されています。
$ php -r 'var_dump(PHP_INT_MAX);'
int(2147483647)
64bit環境では次のような結果になります。
$ php -r 'var_dump(PHP_INT_MAX);'
int(9223372036854775807)
ところで、最小の整数が必要な場合はどうすればいいのでしょうか。実は最小の整数は定数定義されていないのですが、次のようにすれば取得できます。
(続きを読む…)
2009 年 1 月 6 日 by hnw — PHP, workshop
「コンピュータと時刻・日付」というタイトルで社内勉強会を開催しました。今回は一つのテーマに関してアラカルト的に細かい話題を集めてみましたが、おおむね好評だったようです。主に初級者向けの内容でしたが、一定の経験がある人もそれなりに得るものがあったようです。
まとめ
- 日付・時刻の処理には用心しよう
- 仕様は固まっているか?
- 自前実装にバグがないか?
- サーバの時刻は合っているか?(NTP)
- unix timeで扱える範囲内か?(2038年問題)
(続きを読む…)
2008 年 9 月 9 日 by hnw — PHP, zsh, 文字エンコーディング
タイトルそのままなんですが、まずは私のターミナルを見てください。

ドクロマークのようなものが表示されています。日頃の行いが悪すぎてターミナルが呪われたようですね!というのは冗談で、unicodeの文字(U+2620)を1文字表示してみたところです。
私の環境はMacOSXとzshですが、zshでは”\xe2″などで任意の1バイトを表現することができます。つまり、IMEから入力できない文字でも、UTF-8表現の3バイトを指定することで任意の文字を表示できます。
unicodeには色々な文字があります。今回はunicode.orgのMiscellaneous Symbolsを見て、U+2620というのが面白い文字だな、ということで見つけてきました。
(続きを読む…)
2008 年 8 月 5 日 by hnw — Emacs, JavaScript, PHP
Emacs使いなら普通に使ってるよね、ってな素晴らしいEmacs Lispの一つにFlymakeというのがあります。これは名前の通り、Emacsでファイル編集中にon the flyにmake(設定次第で何でも)してくれるEmacs Lispです。makeしてエラーが出た場合には、エラー箇所をハイライトしてくれます。typo などがあれば瞬時に気づくことができますので、開発効率がアップします。

青くハイライトされているのがwarning、赤はエラーの意味です。
PHPもJavaScriptも他の方が設定を公開されていますけど、社内で設定を紹介したところ、「Warningに別の色が付いたりしないんですね」などと言われたので、ムキになってWarningにも色を付けてみました。そんなわけで、他の方の設定とはひと味違うと思います。実はPHPに関して言うと滅多にWarningが出ないので、便利になったかどうかは疑問ですが…。
JavaScriptについてはJavaScript Lintが素晴らしいですね。macportsならport install javascript-lintでインストールできます。「JavaScript Lint – あどけない話」に書いてある通りなのですが、これもWarningに別の色が付くように頑張ってみました。
(続きを読む…)
2008 年 7 月 30 日 by hnw — PHP
今日はPHPでコマンドラインツールを作る際に便利なライブラリ、Zend_Console_Getoptの使い方とサンプルの紹介です。
Zend Framework って名前だけは皆さんご存知だと思うんですけど、実際に使ったことがある人は意外と少ない気がします。フレームワークって聞くとなんか面倒そうですし、自分はフレームワーク変える気無いしなあ、なんて人も多いですよね。でも、実はライブラリとして他のフレームワークと組み合わせて使うことも可能です。気軽に試してみてはいかがでしょうか。(例えばsymfonyならsfZendFrameworkBridgeを使えば簡単に利用できます)
インストール
まずはZend Frameworkをインストールしてみましょう。といっても、Zend Frameworkドキュメントの「1.2 インストール」に書いてあるままなんですが、私の手順を紹介します。
(続きを読む…)
2008 年 7 月 15 日 by hnw — Emacs, PHP
最近Emacsの記事を書く率が異常に高い気がします。今日は、タブ、全角スペース、行末の連続する空白文字列に色を付ける、という話題です。
それ何度も見たよ、という方も多いかと思いますが、今回はtext-modeでも色がついたよ!という部分が(おそらく)新ネタなので勘弁してください。
まずは設定方法を先に紹介しておきます。.emacsにdotemacs-show-white-spaces.txtの内容を貼付けてください。これで色がつくようになったはずです。
上図が設定後のtext-modeです。色のセンスが非常に悪いので、何とかした方がいいと思います。
(続きを読む…)
2008 年 7 月 11 日 by hnw — PHP
ネット上でも言及している人が少ない印象ですが、PHPLintというツールがあります。これがどんなものか、触ってみたので紹介します。
結論から言うと仕事には使えなさそうですが、面白いソフトウェアだな、というのが個人的な感想です。
(続きを読む…)
2008 年 7 月 7 日 by ryer — PHP
こんにちは、らいあです。
Dinoのプログラマーは毎日いろんなツールや関数を作って遊んでいます。
みなさんもライブラリってよく作りますよね?今日は、そのライブラリ製作の一手法として、コードジェネレータについて書いてみようと思います。
(続きを読む…)
2008 年 6 月 25 日 by hnw — PHP, workshop
「intとfloat 〜小数をオススメしない理由」というタイトルで社内勉強会を開催しました。浮動小数点数に関する一般論とPHPでの実例についてです。最初に覚えた言語がPHPなどのスクリプト言語だったりすると、案外このあたりの知識が手薄なものです。簡単すぎる内容かとも思いましたが、意外と好評でした。
まとめ
- 浮動小数点数は不要なら使わない
- 大きすぎる数も注意
(続きを読む…)