こんにちは。yukiです。 今日はテストや普段の開発に便利なツールのご紹介をしたいと思います。PHP限定のツールですので、ご了承下さい。 ZyngaJapanでは、昨日リニューアルオープンした「ファームビレッジ」でも、Jenkins(旧Hudson)によるCIを行って開発しており、TDDやJenkinsでのCIを利用する文化がだんだんと浸透してきています。Jenkinsのプラグインとして利用できるものも多くありますが、当然ながらコマンドラインからも利用出来ますので、コミット前に自分のコードをチェックすることもできます。 phpcpd コードの中でコピー&ペーストで記述されている部分を検出してくれます。 どの程度の重複から検出するかを柔軟に設定できるので、まず大きな部分から修正するなど判断ができ便利です。 $ phpcpd /path/to/project phpcpd @package_v
PHPを高速化するために中間キャッシュを使う各種PHPアクセラレータについては以前に「PHPアクセラレータで一番高速なのはどれか?」で書きましたが、そういう方法以外にどこで時間がかかっているのか(ボトルネック)を見つけ出すことによって、根本的に高速化するという手法もちろんあるわけで。 そういう作業に役立ちそうなツールがいろいろとあるようなので実際の使い方と一緒に見てみましょう。 SitePoint Blogs >> Faster PHP Apps-Profile Your Code with Xdebug 「Xdebug」というのがどうも一般的のようです。Windows用のモジュールもあり、PHP4だけでなく5にも対応。 Xdebug - Debugger and Profiler Tool for PHP http://www.xdebug.org/ Xdebugだけだとプロファイリング
<?php // Entity/User.php namespace Entity; class User { private $name; private $gender; public function __construct($name, $gender) { $this->name = $name; $this->gender = $gender; } public function getName() { return $this->name; } private function getGender() { return $this->gender; } } 名前を保持するnameプロパティと、性別を保持するgenderプロパティを定義します。genderプロパティに対するゲッターメソッドはprivateにしてあります。 ■ ReflectionClass まずクラスの情報を抜
<?php /** * sample.php * PHP_CodeSnifferのテスト用ファイル * @author Morikawa Joe */ $list = array( "a" => 1, "b" => 2, "c" => 3, ); // if if (sample_func(0)) { echo "sample\n"; } else if (sample_func(1)) { echo "sample sample\n"; } // foreach foreach ($list as $key => $val) { echo "key\t" . $val . "\n"; } /** * サンプルクラス */ class mySample { /** * サンプル変数 */ var $sample_var; /** * サンプルメソッド */ public function
Spike PHPCheckstyleを使えばコーディング規約に沿っていないコードをすぐに発見できる。 Spike PHPCheckstyleはPHP製のオープンソース・ソフトウェア。ある程度の人数で開発を行う場合、コーディング規約が必要になる。そうしないと見やすい、または見づらいコードが増え、品質もばらつきが出る。品質の悪いコードはバグを生みやすい。 コードの品質チェックに ドキュメントで規約を作成し、それを守るようにというのは簡単だ。だがどうしたって規約に外れるコードは生まれてしまう。そこで使うのが規約に沿って書かれているかチェックするツール、Spike PHPCheckstyleだ。 Spike PHPCheckstyleはPHPのコードをチェックし、規約に沿って書かれているか確認してくれる。結果はHTMLファイルでレポートしてくれる。規約外の箇所があると、一覧にしてくれるので問題の
アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPをC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して
テクノロジー GitHub - mrclay/minify: Combines. minifies, and serves CSS or Javascript files
以下のページに関連して、htmlspecialchars() を使用している場合でも XSS が可能かどうか少し調べてみました。 http://www.tokumaru.org/d/20090930.html その結果、いくつかのブラウザで文字エンコーディングに Shift_JIS を使用していた場合、XSS が可能なことを確認しました。 テストコードは以下の通りです。リンクにマウスポインタを乗せると埋め込んだ Javascript が実行されます。 <?php $_GET['a1'] = "\xf0"; // \xf0 - \xfc で可能 $_GET['a2'] = " href=dummy onmouseover=alert(document.title) dummy=dummy"; header( "Content-Type:text/html; charset=Shift_JIS
LiveValidationPHP | Home What is LiveValidationPHP? Well in short it's a form validation script. PHPでフォームの値をリアルタイムチェック「LiveValidationPHP」。 PHPとJavaScript でリアルタイムにバリデーションする仕組みが公開されました。 次のようにフォーム内容をリアルタイムにバリデーションできます。 バリデートのルールなんかはPHPで記述でき、JavaScript に慣れていなくても使えます。 関連エントリ JavaScriptでリアルタイム値チェックを簡単に行える「LiveValidation」
fValidator - Alone Simple form using fValidator フォーム値のチェックをJavaScriptで簡単かつクールに行う「fValidator」。 fValidator を使えば、次のように input エレメントの class 属性に 値を指定するだけで入力チェックの機構を実装できます。 <input id="exA_Id" class="fValidate['required']" name="id" type="text"> <input id="exA_cPassword" class="fValidate['required','=exA_Password']" name="cpassword" type="password" > JavaScript で入力チェックというと結構面倒なイメージがありますが、このライブラリを使ってしまえばHT
PHP micro-optimization tips | Alex @ Net PHPコーディングに関する最適化TIPS というのがまとまっていましたのでご紹介。 元記事では、micro-optimization ということで、これらを直すのももちろんだけど、ロジックを直す方がパフォーマンスは改善されるということを言ってるようです。 個人的な勉強がてら、メモとして残します。 ・__call のマジックメソッドを使うと遅い ・staticなメソッドはインスタンス化したオブジェクトのメソッドより速い ・関数呼び出しは、staticなメソッド呼び出しより高速 ・ローカル変数へのアクセスはグローバル変数へのアクセスより速い ・グローバル変数へのアクセスは、オブジェクトのプロパティより速い ・オブジェクトプロパティへのアクセスは、__get, __set を使うと遅い ・初期化された変数はそうでな
こんにちは。親知らずを抜いて離乳食三昧のyukiです。GWの暴飲暴食から脱し、ダイエットするには好都合ですね。すいません。負け惜しみです。 さて、今回は「PHPのちょっとしたコツ」の続きネタで、PHP最適化Tipsまとめサイトの紹介です。 これらは既に有名なサイトで紹介されていたり、常識の範囲かもしれませんが、ひとつでも有用に感じていただければ幸いです。 そして英語が極端に苦手なため、意訳突っ込み等あれば宜しくお願い致します。 PHPの最適化 12 PHP Optimization tips (元ネタはこちらでしょうか? http://www.ilia.ws/files/zend_performance.pdf) staticが使えるなら、staticを使う。速度は4倍になる。 __get, __set, __autoload は避ける。 require_once() はコストがかか
みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く