PHP: コンストラクタの内部での参照 – Manual

注意: (PHP 4以降ではリファレンスカウンティングを使用しているため、)参 照ではなくコピーを返すことで性能が低下することはありません。逆に 多くの場合、参照を使うよりも単純にコピーを使った方が良い結果とな ります。これは、参照の作成には時間がかかりますが、コピーの作成に は理想的には時間が全くかからないからです。(ただし、大きな配列ま たはオブジェクトでその一つが変更されると、次々に参照先の他の要素 に参照先に波及するといった場合を除きます)

まじですか?要調査。

よくきたblog

非常によく出来たLDAP管理ソフトウェアのphpLDAPadminの日本語化を始めてみました.

前からいいLDAP管理ソフトないかと探していたので期待です。かなり良さそう!

Yahoo!ニュース – 海外 – 共同通信

ロサンゼルス9日共同】米中西部オハイオ州コロンバスで8日夜(日本時間9日午後)、ライブハウスで演奏中のヘビーメタル・バンド「ダメージプラン」のメンバーに男が近づき突然銃を乱射、メンバーら少なくとも4人が死亡、2人が負傷した。発砲した男は、駆けつけた警官に射殺された。  AP通信や地元テレビ局によると、演奏が始まった途端、アイスホッケーのユニホーム姿の男がステージに上がって何かを叫び、ギタリストのダイムバッグ・ダレルさんに向かって銃を発射、続けて観客にも発砲した。地元テレビはダレルさんも死亡したと伝えた。

なんてこった!ダレルが死んでしまいました・・・。 部屋にパンテラのポスターを貼っていた高校時代のおれ(告白)が聞いたら泣きますよ。

Vulgar Display of Power
Vulgar Display of Power
posted with amazlet at 04.12.10
Pantera
Warner (1992/02)
売り上げランキング: 87,263
通常1~2週間以内に発送
おすすめ度の平均: 4.67
4 俗悪、悩殺、鎌首と聴いてきたが
5 モダンヘヴィネスの傑作
5 俗悪!!

イチッ速(パ)やゆーなよ

語尾に「主演 チャックノリス」と付けるスレ

語尾に「主演 チャックノリス」と付けるスレ

スレ名だけでやられました。

mozillaZine 日本語版 – mozillaZine 和訳

Scott MacGregor によると、”“Mozilla Foundation は今日 Thunderbird 1.0 電子メールクライアントをリリースした。Thunderbird は 検索結果保存フォルダ、メッセージのグループ化、他のメールクライアントからの包括的なメールの移行、そして RSS との統合 (訳注:RSS リーダ機能) のようなたくさんの新しい機能を持つ。このリリースは先月成功した Firefox 1.0 のリリースに続くものである。

ビルドは GetThunderbird.com もしくは FTP サーバ から入手できる。リリースノートも利用可能だ (日本語版)。サポートは我々の Thunderbird Support Forum で受けられるが、このリリースに関するその他の話題に関しては、Thunderbird Forums (日本語版) で議論することが出来る。ローカライズされたバージョンはあと二・三日後から出始めるだろう。”“

Thunderbird 1.0キター。0.8から早かったー。

永続化がらみでPHPでアプリケーションスコープを扱うためのクラスを作ってみました。

ApplicationScope#setでアプリケーションスコープに変数をセット。

require_once("Book.php");
require_once("ApplicationScope.php");

$book =& new Book();
$book->name = "Effective Java";
$book->price = 1000;
$book->releaseDate = "2004/12/01";

$app =& new ApplicationScope();
$app->set("book", $book);
$app->set("mail", "bg@p0t.jp");
$app->set("age", 26);

ApplicationScope#getでアプリケーションスコープから変数を取得。

require_once("Book.php");
require_once("ApplicationScope.php");

$app =& new ApplicationScope();
$book =& $app->get("book");
$mail =& $app->get("mail");
$age =& $app->get("age");

var_dump($book);
var_dump($mail);
var_dump($age);

中身は結局ファイルにserializeです。デフォルトでsessionのディレクトリに一時ファイルを作ってます。setの時はその時点で書き込まれるので他のリクエストともやり取りできます。といってもアプリケーションスコープってどういう時に必要なんだろう。ASPやServletでも使ったこと無いです。

ApplicationScope-0.1.tgz

会社の五周年に楽天のKさんが来ていたのでPHP関連の質問を幾つかさせて頂きました。

Q1. PHPのセッションは重複するのか。(PHPのセッションID 参照)

A1. その理解の通り、1台では重複しないが複数台では重複する。

Q2. なぜPHPをApache2のようなマルチスレッドサーバで動かしてもおかしくならないのか。

A2. マルチスレッドでは動かない。Apache2で動かす場合はプロセスベースで動く設定にする。

その他にも楽天のDB構成やPythonの話などいろいろと聞かせてもらって勉強になりました。疑問がズバーン解決してとてもすっきりしました。

はてなダイアリー – Harukiからの平面波

しかし、クラスが外部ファイルで定義されている場合、以下のようにするとエラーが出るので注意する。

$obj = new foo; require_once ‘class.foo.php’;

これ、セッションに保存したオブジェクトを取り出すところでハマりました。 セッションからオブジェクトを復元するのにはunserialize()関数が使われているのでsession_start()より前にクラスファイルをrequireしとかないとPHPが何のオブジェクトなのか分からないので__PHP_Incomplete_Classになってしまいます。

取り出した物を見てみるとデータとしては完全にそろってる。でも何のクラスなのかわからないのでエラー。

これはガムを知らない民族の前に置いてあるガムみたいなものかと。おれらは目の前にあるものがガムクラスのインスタンスだと分かっているのでどんな振る舞いをするのかも知っている。しかしガムというものを知らない人の前に置かれたガムは謎のオブジェクト。ガムを知らないのでどんな振る舞いをするのかはさっぱりわからない、しかしデータだけは目の前にある。

「現実世界はそんなもの(クラスはわからないがインスタンスが目の前にある)ばかりなのでオブジェクト指向を無理矢理当てはめようとしても失敗する。」というのを何かで読んだ気がします。

金曜日ににせマックの電源がお亡くなりになりました・・・。

マザー死んだかと焦りましたが適当な電源を買ってきたら動いた。ディスプレイすら無い(ノートしかない)のでSSHが上がらないと詰み。しかしちゃんと立ち上がってくれたので復旧しました。

最近のクソドモによる鬼ダウンロードのせいじゃねーのかと。それ以前に電源ファン適当にはずしちゃ駄目でした。