- blogs:
- cles::blog
phpの配列関数ランキング
phpには配列を処理するためのarray_###というメソッドが大量にある*1のですが、どの関数がどれくらい使われているかをgoogle code searchで調べたランキングを見つけたのでメモ。
一番使われてない配列関数って何? (PHP懇親会での発表ネタ) - おぎろぐはてな
Googleコード検索で、PHPの多すぎる配列関数を検索して、一番使われていない関数は何かを調べてみたというネタです。
1位 array()
2位 count()
3位 list()
4位 in_array()
5位 array_merge()
6位 sizeof()
7位 array_keys()
8位 array_key_exists()
9位 each()
10位 reset()
77位 array_replace_recursive()
76位 array_product()
74位 array_diff_uassoc()
array_intersect_uassoc()
73位 array_uintersect()
70位 array_uintersect_uassoc()
array_uintersect_assoc()
array_udiff_uassoc()
上位のものはそれなりに納得感があります*2が、間違いなく下位の関数は使った事がないです。最近追加されたものも多いようです。PHPはバージョンアップの度にマイグレーションばかりやらされている気がしますが、PHPは標準の関数をもうちょっと整理してくれると嬉しいんですけどね。
ケータイサイトでGoogle Analyticsを使う
Google Analytics は便利なのですが、JavaScriptを使っているので、ケータイサイトでは統計がとれませんが、これをちょっと裏技的な方法を使って統計がとれるようにしてみました。
そもそもJavaScriptで出来たビーコンの基本的な動作は、各種パラメータを収集し、それを埋め込んだ<img>タグを吐いて、ブラウザに読み込ませるというものなので、これをサーバサイドでエミュレーションしてあげて<img>タグを生成し、ブラウザに読み込ませてあげれば、統計をとることができる・・・というのは頭では分かっていたもののパラメータを調べたりするのが面倒なのでこれまで手をつけずじまいになっていました。
そのあたりを解決してくれているphpのライブラリを下記で見つけたので、組みこんでみました。
PakuReserve R&D Laboratory Google Analytics を携帯から使う
GoogleAnalyticsをケータイから使う
ためのクラス書きました。
探してもfunctionでしかなかったので。
あと、fopen()のタイプしかなかったので。
fopenだと繋がらなかった場合エラー出るんですよね。
なのでfsockopen()でソケット通信を利用。
繋がらなかったらそこで終了。
もしくはimgタグにして画像を読み込ませる感じでも利用できます。
fsockopen()を使うと、ロボットの訪問でもログを飛ばしてしまうので、ひとまず<img>タグ生成を試しています。これでロボットではなく人間の実訪問数がある程度正確に取れるようになりそうです。
PHP5.3.xの新機能のまとめ
gihyo.jpでPHP5.3の新機能のまとめの連載が始まっています。著者の大垣さんのblogによると、4回シリーズになるようです*1。
特集:PHP 5.3の新機能と変更点|gihyo.jp … 技術評論社
PHP 5.3は2009/6/30リリースされた最新のPHPです。PHP 5.3はマイナーバージョンアップですが言語機能が拡張されたメジャーバージョンアップと言ってよいような変更が行われたバージョンです。
本特集ではこのPHP 5.3の概要と変更点について解説します。
今回紹介されているレイトスタティックバインディングは今一つ何に使えるのか良く理解していませんでしたが、これは便利に使えそうです。元々、PHPはオブジェクト指向が後付けされた言語なのでリフレクション系の機能がイマイチでしたが、それが少し改善されると言う事のようです。これで、debug_backtrace()を使う機会が幾分減らせそうな気がします。
php 5.3 リリース
PHP6への布石となる、PHP 5.3が正式版としてリリースされたようです。PHP5.2からのマイグレーションガイドがあるので、これを眺めながら移行を検討したいと思います。
PHP 5.3.0 Released!
[30-Jun-2009] The PHP development team is proud to announce the immediate release of PHP 5.3.0. This release is a major improvement in the 5.X series, which includes a large number of new features and bug fixes.
Some of the key new features include: namespaces, late static binding, closures, optional garbage collection for cyclic references, new extensions (like ext/phar, ext/intl and ext/fileinfo), over 140 bug fixes and much more.
これで5.x系は最終バージョンになるわけですね。僕は5.xへの移行がかなり遅かったので、またマイグレーションすることを考えるとちょっと気が重いです。
Amazon Product Advertising APIの署名認証ルーチンを書いてみた
Amazon APIの認証方法が変更になって、8月からはリクエストへの署名認証が必須になるらしいので、NP_Amazonが使えなくならないようにphp用の認証ルーチンを書いてみました。まぁ、同じものを開発しているひとはたくさんいるのでしょうけど。
$urlArr = parse_url($url);
parse_str($urlArr["query"], $paramArr);
$paramArr['Timestamp'] = gmdate("Y-m-d\TH:i:s\Z");
ksort($paramArr);
$paramStr = "";
foreach( $paramArr as $key => $value ){
$paramStr .= $key ."=" . rawurlencode($value) . "&";
}
$strToSign = "GET\n${urlArr['host']}\n${urlArr['path']}\n" . rtrim($paramStr, '&');
$sig = rawurlencode( base64_encode( hash_hmac("sha256", $strToSign, $secret, true) ) );
return $urlArr['scheme'] . "://" . $urlArr['host'] . $urlArr['path'] . '?' . $paramStr
. "Signature=" . $sig;
}
書いてみると、思っていたよりもシンプルですね。
JAWStatsを使って、AWStatsをWeb2.0ライクに
先日仕掛けておいた過去ログ(50G)のインポートに結局2日くらいかかりました。マシンの性能が良くてもDNSのルックアップ速度にどうしても足を引っ張られますね。
AWStatsはフリーのサーバログ型のアクセス分析システムとしては出力されるレポートがそこそこ詳細なので気に入っているのですが、GoogleAnalyticsとかOmnitureなどの比較的最近登場したビーコン型のアクセス解析と比べるとだいぶインタフェイスがWeb1.0的です。そんなAWStatsの見た目をWeb2.0ライクにしてくれるJAWStatsというソフトを見つけました。
JAWStats Web Site Statistics & Analytics | An AWStats Companion
JAWStats is a free, open-source website statistics and analytics package. It runs in conjunction with AWStats and produces clear and informative charts, graphs and tables about your website visitors.
JAWStatsはPHPで書かれており、AWStatsのファイルを直接読み込んでjQueryを使ってきれいに表示をしてくれるフロントエンドです。実際に導入してみると同じAWStatsのデータを表示しているとは思えません。AWStatsを使っていて、ウェブの見た目がちょっと・・・・という場合には導入して見る価値アリです。
PHP 5.3がRCに
2月初めにベータ版になっていたPHP5.3がRCになったようです。
もう少し時間がかかるのかと思っていたんですが、思ったよりも早くRCになってちょっと驚きました。
PHP 5.3、最終バージョンへ - 名前空間、ラムダ関数、クロージャ、GOTO構文 | エンタープライズ | マイコミジャーナル
5.3系の登場とともに5.2系は推奨されないブランチ扱いにかわる見通し。5.2系やそれ以前のバージョンを使っている場合には5.3系へのアップグレードに備えておきたい。いくつかのエクステンションや内部APIは廃止されるなど一部の後方互換性も破棄される。アップグレードに関するドキュメントはphp-src/UPGRADINGにまとまっている。
zend.ze1_compatibility_modeも廃止されるみたいなので、PHP4はもう完全に過去の遺物扱いですね。実はzend.ze1_compatibility_modeをOnにしてだましだまし使っているものをいくつか抱えているのですが、そろそろ年貢の納め時ということなんでしょうか。
Eclipse PDTが2.0に
しばらく前からEclipse PDTを使っていますが、そのPDTがバージョンアップして2.0がリリースされています。
Eclipse、『PHP』開発ツール最新版『PDT 2.0』をリリース - japan.internet.com Webテクノロジー
主な追加要素の1つは、新しいキャッシュおよびインデックス エンジンだ。Ganor 氏は、これによって PDT の全体的なパフォーマンスが向上すると述べている。新エンジンは『Eclipse Dynamic Language Toolkit (DLTK)』に基づいている。DLTK は動的言語ツールキットで、これによって Eclipse を使った動的言語向け統合開発環境 (IDE) の構築がより簡便になる。Ganor 氏によれば、DLTK を採用することで、PDT は他の Eclipse プラットフォームを構成する要素と似た挙動を示すようになったという。
早速動かしてみようと思ったのですが、肝心のEclipseが3.2のままなのでそのままでは依存性の関係でうまく動かすことができませんでした。近日中にEclipseをアップデートしてリベンジしたいと思います。
PHP 5.2.8リリース、PHP 5.2.7はキャンセルに
PHP 5.2.7がリリースされたとおもったら、すぐにPHP 5.2.8に差し替えられていました。
PHP 5.2.8 Released! [08-Dec-2008]
The PHP development team would like to announce the immediate availability of PHP 5.2.8. This release addresses a regression introduced by 5.2.7 inregard to the magic_quotes functionality, that was broken by an incorrect fix to the filter extension. All users who have upgraded to 5.2.7 are encouraged to upgrade to this release, alternatively you can apply a work-around for the bug by changing "filter.default_flags=0" in php.ini.
どうやらmagic_quotes周りにリグレッションがあったようですね。幸いにも僕はPHP 5.2.7をまだ導入していなかったのですが、PHP 5.2.7を入れてしまっている場合にはPHP 5.2.8にしたほうが良いみたいですね。これはPHPチーム始まって以来の大失態なのではないかと。
NetBeansでPHP
普段はIDEはEclipseしか使わないので他のIDEのことは良くわからないのですが、NetBeansにPHPのサポートがあることが分かったのでちょっと使い始めてみました。Eclipseと比べて起動も動作も速く、コード補完もサクサク効いて良い感じです。
NetBeans IDEのダウンロードからダウンロードすることができます。
sp-20100318155911644595551@cles.net
- https://identify.yahoo.co.jp/auth
- OpenIDで自分のサイトのURLを使う
- Yahoo! - 10/03/18 15:59:07
- ランコネクタ
- LAN配線を自作
- Yahoo! - 10/03/18 15:59:00
- コミッタ
- コミッタとは
- Google - 10/03/18 15:58:57
- コミッタ
- コミッタとは
- Google - 10/03/18 15:58:54
- ネクタイリング つけ方
- ネクタイの結び方
- Yahoo! - 10/03/18 15:58:51
- remote_function rails
- RailsでSubmit時にAjaxで値をチェックしてポップアップを出す
- bing - 10/03/18 15:58:31
- everyday thunderbird3
- Thunderbird3に移行
- Google - 10/03/18 15:58:27
- パワポケ11PARコード
- Yahoo! - 10/03/18 15:58:15
- マインスイーパー 無料 ワザップ
- Yahoo! - 10/03/18 15:58:13
- 読書感想文 パクリ
- やっぱりあった!パクれる読書感想文!
- Yahoo! - 10/03/18 15:58:10
・検索ワードランキングはこちら
- おめでとうございます (4)
- SourceForge.JPのSubversion... (3)
- 知恵の輪 サターン編 (3)
- サーバセットアップ (3)
- 和食 小錦 (3)
- Thanks ! 10000 Hit ! (3)
- 散髪しました (3)
- .inはインドのccTLDなのか (3)
- やっと髪をきりました (3)
- 大雪でした (3)
2 . やっぱりあった!パクれる読書感想文! [7518x]
3 . Echofon for Firefox [6315x]
4 . 急性胃腸炎 [5678x]
5 . OpenIDで自分のサイトのURLを使う [5671x]
- CD-ROM起動で、HDDを完全消去
- NP_Moblog v1.16
- pinzoro 01/15
- hsur 12/29
- and more...
- 耳がおかしいと思ったら突発..
- baca 01/13
- hsur 01/13
- and more...
★はてな認証APIをつかってログインすることができます。





通りすがり : NP_Amazonなら、5月に対応版が出てますよ。http://nekhet.ddo...