BLOGTIMES
» ArchiveList
Home (Tag for "php")
«Prev || 1 · 2 · 3 · 4 · 5 · 6 · | Next»
2009/12/01
[ by hsur at 19:21]

phpの配列関数ランキング

 

phpには配列を処理するためのarray_###というメソッドが大量にある*1のですが、どの関数がどれくらい使われているかをgoogle code searchで調べたランキングを見つけたのでメモ。

一番使われてない配列関数って何? (PHP懇親会での発表ネタ) - おぎろぐはてな

Googleコード検索で、PHPの多すぎる配列関数を検索して、一番使われていない関数は何かを調べてみたというネタです。

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は標準の関数をもうちょっと整理してくれると嬉しいんですけどね。

  • *1: この資料によると78個あるらしいです
  • *2: そんなにreset()って使われてたかなという感じはするけど。
Category: Tips | / | Comment(0) | TrackBack(0) | Permalink |
2009/09/20
[ by hsur at 13:59]

ケータイサイトでGoogle Analyticsを使う

 

Google Analytics は便利なのですが、JavaScriptを使っているので、ケータイサイトでは統計がとれませんが、これをちょっと裏技的な方法を使って統計がとれるようにしてみました。

そもそもJavaScriptで出来たビーコンの基本的な動作は、各種パラメータを収集し、それを埋め込んだ<img>タグを吐いて、ブラウザに読み込ませるというものなので、これをサーバサイドでエミュレーションしてあげて<img>タグを生成し、ブラウザに読み込ませてあげれば、統計をとることができる・・・というのは頭では分かっていたもののパラメータを調べたりするのが面倒なのでこれまで手をつけずじまいになっていました。

そのあたりを解決してくれているphpのライブラリを下記で見つけたので、組みこんでみました。

PakuReserve R&D Laboratory Google Analytics を携帯から使う

GoogleAnalyticsをケータイから使う
ためのクラス書きました。
探してもfunctionでしかなかったので。
あと、fopen()のタイプしかなかったので。
fopenだと繋がらなかった場合エラー出るんですよね。
なのでfsockopen()でソケット通信を利用。
繋がらなかったらそこで終了。
もしくはimgタグにして画像を読み込ませる感じでも利用できます。

fsockopen()を使うと、ロボットの訪問でもログを飛ばしてしまうので、ひとまず<img>タグ生成を試しています。これでロボットではなく人間の実訪問数がある程度正確に取れるようになりそうです。

Category: Tips | / / / | Comment(0) | TrackBack(0) | Permalink |
2009/07/15
[ by hsur at 21:41]

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()を使う機会が幾分減らせそうな気がします。

Category: Tips | | Comment(0) | TrackBack(0) | Permalink |
2009/07/01
[ by hsur at 13:34]

php 5.3 リリース

 

PHP6への布石となる、PHP 5.3が正式版としてリリースされたようです。PHP5.2からのマイグレーションガイドがあるので、これを眺めながら移行を検討したいと思います。

PHP: News Archive - 2009

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への移行がかなり遅かったので、またマイグレーションすることを考えるとちょっと気が重いです。

Category: IT | | Comment(0) | TrackBack(0) | Permalink |
2009/06/03
[ by hsur at 21:32]

Amazon Product Advertising APIの署名認証ルーチンを書いてみた

 

Amazon APIの認証方法が変更になって、8月からはリクエストへの署名認証が必須になるらしいので、NP_Amazonが使えなくならないようにphp用の認証ルーチンを書いてみました。まぁ、同じものを開発しているひとはたくさんいるのでしょうけど。

function addAuthSig($url, $secret){
        $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;
}

書いてみると、思っていたよりもシンプルですね。

Category: Tips | / | Comment(1) | TrackBack(0) | Permalink |
2009/05/08
[ by hsur at 22:58]

JAWStatsを使って、AWStatsをWeb2.0ライクに

 
JAWStats

先日仕掛けておいた過去ログ(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を使っていて、ウェブの見た目がちょっと・・・・という場合には導入して見る価値アリです。

Category: Software | / / | Comment(0) | TrackBack(0) | Permalink |
2009/03/26
[ by hsur at 23:14]

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にしてだましだまし使っているものをいくつか抱えているのですが、そろそろ年貢の納め時ということなんでしょうか。

Category: Web | | Comment(0) | TrackBack(0) | Permalink |
2009/01/26
[ by hsur at 20:55]

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をアップデートしてリベンジしたいと思います。

Category: Software | / | Comment(0) | TrackBack(0) | Permalink |
2008/12/09
[ by hsur at 18:21]

PHP 5.2.8リリース、PHP 5.2.7はキャンセルに

 

PHP 5.2.7がリリースされたとおもったら、すぐにPHP 5.2.8に差し替えられていました。

PHP: News Archive - 2008

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チーム始まって以来の大失態なのではないかと。

Category: Software | | Comment(0) | TrackBack(0) | Permalink |
2008/12/01
[ by hsur at 21:02]

NetBeansでPHP

 
NetBeans PHP Development

普段はIDEはEclipseしか使わないので他のIDEのことは良くわからないのですが、NetBeansにPHPのサポートがあることが分かったのでちょっと使い始めてみました。Eclipseと比べて起動も動作も速く、コード補完もサクサク効いて良い感じです。

NetBeans IDEのダウンロードからダウンロードすることができます。

Category: Software | | Comment(0) | TrackBack(0) | Permalink |
«Prev || 1 · 2 · 3 · 4 · 5 · 6 · | Next»
» ArchiveList
Home (Tag for "php")