Category Archives: 基本 - Page 3

intやfloatを扱う際の注意点

第1回 PHP勉強会 SIDE-Bに行ってきました – hnwの日記

記事中、スライドの『PHPのfloat型やらint型やらの話』が、intやfloatを使う際の注意点として、勉強になります。
0.1を10回足しても1にならない、とか。
floatは滅多に使わないので、ついつい忘れてしまいそうです。。

アプリを作りだす前に

第34回PHP勉強会資料 アプリを作りだす前に – docune(ドキュン)
第34回PHP勉強会で発表された「アプリを作りだす前に」の資料なのですが、
svn co & rsync で本番環境にあげる、とあります。
テスト環境にcoして、rsyncで本番環境に、ということなのですね。
テスト環境を用意できれば、確かに「動いている」ものだけを確実にあげることができますね。
私はよく、本番環境にもcoしてしまいますので。。。
動かないリビジョンになっていたら怖いですよね。

__toString()でhtmlspecialchars

PHPerはもっと__toString()を使ったほうがいい – font-family: monospace
PHPerはもっと__toString()を使おうよ、という記事なのですが、記事中で __toString()の出力時にhtmlspecialcharsをかましていたりして、便利そうです。toString、そんなのあったなあという感じです(^_^;)
使わないと忘れますね。

日本語文字列の「バイト数」取得

日本語文字列のバイト数取得にstrlenだけではダメな理由-PHP – CPA-LABテクニカル
日本語文字列のバイト数取得する方法が、strlenだけではダメなんだよ、という記事です。
参考になります。

PHPのインターフェイス

PHPにはインターフェイスというものがありますよ、という話 – anatoo勉強記

なにかとPerl、Python、Ruby、JavaScript等の言語と比べて機能の不足を言及されることの多いPHPですが、

PHPには逆にこれらの言語にはない機能がある、それはインターフェイスだ、という話です。

あら、Rubyはあんまり詳しくないけども、インターフェイスないのか。
というわけで、オブジェクト指向なインターフェイスについて、オブジェクト指向初心者な方にもわかりすい説明がされています。

php5.2.6からstrtotime関数の挙動が違う

php5.2.6からstrtotime関数の挙動が変わる – maru.cc@はてな

64ビットマシンのPHP5.2.6から、strtotimeの挙動が違うという。。気をつけないと今までのスクリプトの挙動がおかしくなる可能性がありますね。

require_onceでなくautoload

require_once からの卒業~(尾崎豊風に) – Devel::Bayside

PHP5 では __autoload というメソッドをオーバーライドすることで、require_once から解放されます。Zend Framework を使うことで、この機能を意識せずに使えるようになります。

autoloadを使えば楽ちんな上に、require_onceよりも早いので1粒で二度美味しい感じです。
記事ではオレオレMVCとして、Zend Frameworkを部分毎に利用したフレームワークを作成されています。

「@」でエラー抑制すると PHP が遅くなる

「@」でエラー抑制すると PHP が遅くなるという噂について : a++ My RSS 管理人ブログ

「@」でエラー抑制すると PHP が遅くなるという話、実際にどれだけ遅いのか検証されています。
これは遅い、といった感じです。

また早い遅いとは別の話で、

大切なのは数秒のスピードアップ?それとも?

という意見もあります通り、エラー制御は大事ですね。

clearstatcache()のはなし

clearstatcache()のはなし – おぎろぐはてな

件のclearstatcache()がなんのためにあるのか、という話になると思うのですが、

PHPは存在しないファイルについての情報はキャッシュしないことにも注意してください。もし存在しないファイルに対して file_exists() をコールする場合、ファイルを作成するまで この関数は FALSE を返します。もしファイルを作成した場合、たとえファイルを削除したとしても TRUE を返します。しかし、unlink() はキャッシュを自動的にクリアします。

ほうほう。気をつけなければいけませんね。

PHP 配列を回すならforかforeachか

PHP 配列を回すならforかforeachかという話、PHPの種ブログでも一度取り上げたのを、

同じ処理が行える時、forを使うかforeachを使うか?

今回、PHP 配列を回すならforかforeachか | Shin x blogの記事を見て思い出しました。
この記事のコメントにある、

私はforeach派ですかね。
・無限ループがありえない
この理由が大きいかと。

という派ですね。私も。自分で組んでてもforeachのほうが間違いが少なくてすみ、思考量も少なくてすむ(^_^;)気がします。