AnyEdit tools plugin for Eclipse

3 ””Convert → Leading tabs to spaces”“
(trailing whitespace will be removed automatically)

4 ””Convert → Leading spaces to tabs”“
(trailing whitespace will be removed automatically)

エディターに細かい機能を追加するEclipseのAnyEdit tools pluginがPHPEclipseでも使えるようになったとか。

spaceをtabにする機能はちょっと欲しい。

仕事ではPHP5.1が出たら(すぐ出そう)真剣に何使うか考えなきゃいけないですが、現状ではMojavi2使ってる人も多いはず!(おれも)

そこで地味Tips

「modules/foo/config.php」を置いておくとそのmodule呼ばれた時に読み込んでくれる!(ExecutionFilterが)

使い方としてはそのモジュールだけで使うライブラリや定数を書いとくと便利っぽいです。

<?php
define("FOO_BAR_LIMIT", 10);
include_once("Pager/Pager.php");

include_onceとPHP閉じタグを書かないのが流行です。(うz)

日本PHPユーザ会からの平面波

いつのまにKOF2005を日本PHPユーザ会としてやるようになったのだ?

ユーザ会の人が3人1組になって戦うのかと思った・・・orz

メールで簡単なインタビューを受けただけですが、今月の日経システム構築にPHPフレームワークの話でちょろっと名前が。
ツイてる!

いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C

Ruby, Python, JavaScript, Perl, C の配列操作の比較表を作りました。

言語ごとの配列操作の一覧。

array_push($a, $x)

って何かヘボさが漂って嫌ですな。組み込みクラスが多いのって大事かも。
PHP4で組み込みクラスといえば、、、

stdClass!、dir!、そして・・・__PHP_Incomplete_Class

・・・なんて貧弱なラインナップなんだ。

最近よく見るJSONの意味がわからなかったので調べてみました。

Introducing JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C , C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

JSONとは軽量のデータ交換用のフォーマットだそうです。 というかJavaScriptのオブジェクトの形式でデータをやり取りしたら楽だよねってことみたいです。
↓たとえばこんな感じだそうです。(via XMLをJSONデータに変換するJavascriptライブラリ – スピリッツオブゼロ@blog)

  ListingInfo: {
    Request: {
      Parameters: {
        Parameter: [
          { value: "あいうえお",
            name: "keyword" },
          { value: "Shift_JIS",
            name: "enc" },
          { value: "xml_lite4",
            name: "tf" },
          { value: "FP",
            name: "at" },
          { value: "10",
            name: "ipp" },
          { value: "777",
            name: "categ_id" }
        ]
      }
    }
  }
}

PHPの配列をJavaScriptの配列に変換する処理なんかはやってる人も結構いるかもしれませんが、ちゃんと名前付けて仕様化してるところがすごくいい。

よく見たらPEARにもServices_JSONがProposalに上がってます。

JSON/READ-ME-JSON.php:

// create a new instance of JSON
require_once('JSON.php');
$json = new JSON();

// convert a complexe value to JSON notation, and send it to the browser
$value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4)));
$output = $json->encode($value);

print($output);
// prints: ["foo","bar",[1,2,"baz"],[3,[4]]]

// accept incoming POST data, assumed to be in JSON notation
$input = $GLOBALS['HTTP_RAW_POST_DATA'];
$value = $json->decode($input);

こんな感じで使えるなら便利そう。

既にXMLでやり取りしてるサービスもコレ(Amazon Web サービス ブログ: XML→JSON展開クラス)とか使ったらもっと便利になるかも!

ゼンドジャパンとユヒーロが障害対策のソリューションで提携 – HotPHPPER News

ITmediaにてゼンドジャパンとユヒーロという会社が提携がし、PHP+MySQL/PostgreSQL環境の障害対策のソリューションの実現について掲載されています。

ユヒーロってまさか、あの・・・?

kunitの日記

(2)で特定したファイルをAspectをかませるように書き換えて、「components_c」に出力する。この際、「Zoo」クラスとなっている場合には「Foo_Bar_Zoo」に書き換えてしまう。

Aspectかませて書き換え!

X ole.net : 動的にクラス生成

その後、生成したファイルをunlink()すれば、メモリ上(?)にクラスファイルが読み込まれたされた状態になって、いつでも new できるって状態になってます。(詳しくはソース読んで :p)

includeして削除しちゃうって考えが面白い!

PHPでもコードインジェクションやコードジェネレーションの波が。
厭な感じを持たれる方もいるかもしれませんが、どんどんやっていーんです!

p0t: 軽快なPHP

軽快なJavaに感化される。特にためになったのが、透明性を確保するための方法について。つまりアプリケーションの各ドメインがそれぞれ独立して他に依存しないようにする方法。ぱっと考えてそんなことできるのかと思いましたが、現在主流になってる方法は

  • リフレクション
    (きたオブジェクトに動的に対応)
  • コードインジェクション
    (Build時にAntで自動的にコードを付け加える)
  • コードジェネレーション
    (コード自体を生成する)

PHP 観測所日誌 – phpcon_quebec_cd [PHP] PHPConference Quebec 2004 の CD が到着。

もう注文した事も忘れていたですよ。面白そうなコンテンツがあれば PHP-Stady のネタになるかと思ったんだけど、今更 Introduction to SQLite や Introduction to PHP5 ってのも。

さすが 2004 だぜ!

笑った。

PHPeclipse 1.1.7 available at update site

The update site (for use with the Eclipse configuration manager) now contains version 1.1.7 for Eclipse 3.1: http://pipestonegroup.com/eclipse/updates

There are still several annoying bugs with the debugger:

  • Debugger view initialization fails at the beginning (appears harmless)
  • Variables view doesn’t work (Eclipse 3.1 event handling differs from 3.0)
  • Source locator doesn’t work automatically (have to click the call stack to go to the current line)

Eclipse 3.1対応のPHPEclipse1.1.7がリリース。
Debugger周りでまだバグが少しあるようですが、Eclipse 3.1は速度面でも機能面でも何かと素晴らしいので嬉しいです。
そんな中でもおれが地味に一番嬉しかったのがCVS commitにキーボードショートカットの割り当てが可能になったこと!