php_study.jpg

第一回PHP勉強会 in Tokyo行って来ました。
PHPの濃い話がたくさん聞けてとってもためになりました!

内容はたくさんあって書ききれないですが、ためになったことメモ。(順不同)

  • DI/AOP
  • 配列と連想配列は同じ
  • 配列の添え字はintかchar*、値はzval
  • Maple, Dicon
  • Ethna info(早速パクッてMojavi info作りたい)
  • CatalystはRails似
  • Apache + FastCGI不安定
  • session_id()でホストアドレスとかくっつければ複数Webサーバセッション保存でもセッションIDかぶらない
  • PHP4限定、$this経由Factoryクラス(factoryメソッドじゃなくて)
  • QFのPasswordエレメント、Hiddenアスタリスク問題対応策
  • 外人はConfirm(確認画面)作らない
  • 日本では一時期の法律問題でConfirm作る文化がある可能性(Historical reason pattern)
  • SimpleXMLはアクセスしたときオブジェクトができる
  • SimpleXMLではあらかじめネームスペースを指定してから取る(=非実用的)
  • Railsでmixin前提設計
  • PEAR XML_Serializer不可逆シリアライズ
  • GooはPHPベースが多い
  • Popoon = PHP版Apache Cocoon
  • Maple, Dicon, QF, DBDO, FormBuilder
  • DreamWeaverDWTSmartyDWTプラグイン

おれの方ではMojaviでのパターンについて話させていただきました。

MSICC.pdf
msicc-1.4.zip

ある程度の規模で開発標準を決める場合、利便性よりも「共通の決まりを使用すること」や「繰り返し使うこと」の方が重要になってきてしまいます。
Mojaviでの開発標準やコーディング規約関連が落ち着いたらRailsやSeesaa、MapleやEthnaなど試したいです。

[結] 2005年6月 – 結城浩の日記

RSSフィードでさくさく文章を読んでいると、 ときどき「タイトルしかないサイト」がある。 そういうサイトはだんだん読まなくなっていく傾向にある。 逆に、RSSフィードで読んでいて(つまりそのサイトのデザインとは無関係にコンテンツだけ読んでいて)「面白いなあ」と感じるサイトは、 よく記憶しているように思う。 というわけで、みなさんRSSフィードにたくさん文章を入れましょう。

RSSでDescriptonが短かったりすると段々読まなくなっていくという話。

このサイトのもちょびっとしかDescriptionが無いことに気づいたので最新のMTのテンプレをもらって入れ替えました。

というか、Planet PHP Japanで全文出ないと悲しいからです!

Mojaviのロギングやエラーハンドリングを見ていて、普通のPHPでもエラーハンドリングについてよく解ってなかったことに気づきました。

PHP自体の機能を使ってシンプルなエラー処理の正解(宣言してしまえば反対意見が出るまで正解と言い張れる)を作ってみました。

seh-1.0.zip

<?php
include_once("getContents.php");

// 行数の取得
function getNumLines() {
    $contents = getContents();
    if ($contents === false) {
        trigger_error("getNumLines(): 行数の取得に失敗しました", E_USER_WARNING);
        return false;
    }
    return count($contents);
}
?>

seh.png

  • エラーメッセージはその関数(メソッド)を実行した奴から見た内容にする。
  • pg_connectの失敗だってE_WARNINGなのでJavaの(Exceptionじゃなく)Errorのようにスクリプトを実行し続けることができないような致命的なものだけE_USER_ERRORレベルのエラーを発生させる。(大体はE_USER_WARNING)
  • どのレベルからエラーを出すかは、error_reportingディレクティブで設定する。
  • ログはerror_logディレクティブで設定する。

これであってるのかどうか気になる!
すごい基本なのにわからないこと多過ぎです。

PLANET PHP JAPAN ハズレ日記 (見切り発車)

Blogのアグリゲート PLANETの日本語のPHPな方々版を作ってみました。 http://catbot.sakura.ne.jp/planetphpjapan/

Planet PHPの日本語版、Planet PHP Japanがオープンしてます。

Planet PHPはPHPに関するエントリーをまとめてきて出してるメタブログみたいなもんですが、、、ヤラレタ!
おれのToDoリストの中の

  • メタPHP Blog(planet php jp)

という項目を悲しく削除させていただきたく存じます・・・。
くやしいがgj。

アウトプット主義!ということでこの間やった勉強会で使った資料。

基礎Mojavi.pdf

まるごとPHPのMojavi記事でSmarty部分が腑に落ちてなかった一部(1人)にだけ好評。

何故ソレにこだわるのか一般の方には共感が得辛いかもしれないMSICCを一部修正しました。

msicc-1.1.zip

修正点:

  • ディレクトリ構成をMojavi Wikiスタイルに変更。(smartyをどこに入れればいいのかまだ悩み中です)
  • Registという言葉は無い(via yoshuki)のでRegisterに変更。
  • ErrorLoggerでレアなWARNINGに対応。
  • SmartyFilterでcompile_idにcurrentActionも追加。

噂ではPHPでの開発では国内最大手と思われる楽○もPHP4 Mojavi2.0.0を標準に採用とか。やはりある程度の規模の開発ではまだPHP5は怖いのかも。PHP4 Mojavi2.0.0の枯れた環境下の正解を(仕事用に)さっさと知ってPHP5を調べて行きたい!

ref: MSICC回答編

PHPEclipse.net

or download the current features.zip at sourceforge.net:
PHPeclipse-1.1.4-features.zip

繋がらなかったPHPEclipse更新サイトですが、復活してさらにzip版も提供されてます。

1.1.4からサーバアプリまとめたパッケージXAMPP(1.1.3までは古いwampp2に対応)に対応したり、更新サイトでQuantum DBやSFTP、Subclipseなんかのプラグインをついでに入れることができてPHP開発環境としての利便性が増してます。

個人的にはApacheやPHPは手動でそれぞれ入れてますが、dbgでのデバッグも動くし快適です。(dbgのPHP 4.3.11対応版が出てないのが気になりますが)
後はCtrl Shift FのフォーマッタがJDTみたいにカスタマイズできたらいいなと思います。(のでFeature Requestsに出しときました。)

ref: PHPEclipse1.1.4つながらない

Trackback経由ですが素敵なPHPニュースサイトを知りました。 その名はHotPHPPER.net

毎週、既に持ち去られたR25の変わりに仕方なく手に取る忌々しい某誌に名前が似ていますが、PHP News亡き(?)後を担うのはココしかないと楽しみにしております。(ツールがs9yなとこもツボ)

[PHP-doc 441] PEAR::Event_Dispatcherの和訳

PEAR::Event_Dispatcherの和訳を下岡の方で始めたいと思います。 すでにどなたか始められているようであれば、ご連絡ください。

#PHPでObserverとは。。。ちょっと感動しました。

絶賛注目中のEvent_Dispatcherの和訳を始められるとか!
大した人物だよ!

ref: PHP5でイベントドリブン

自分のページにリンクが張られたらRSSで知らせてくれるTrackFeedを便利に使わせてもらっています。
最近、「なんで?」ってとこからリンクを張られてるのをよく見ます。

kuroki.png

とか。

今気づいたんだけど↓コレが原因か!

[PHP-users 25710] Re: mojaviでのサイト構築

以下のサイトを参考にしました
http://p0t.jp/mt/
http://ozaki.kyoichi.jp/mojavi3/transparentformobject.html