SimpleXMLのシリアライズ 
木曜日, 11月 16, 2006, 11:52 PM -  PHP
久々にPHPネタをっと。
xFrameworkの次バージョンであるxFramework2.1.0の開発をやっていたときに気がついたことです。

PHP5から(細かいバージョン忘れた)SimpleXMLというXMLパーサ機能を備えたライブラリが使えるようになりました。SimpleXML自体の使い方はググればたくさん出てきます。

でだ。

通常オブジェクトであれ、配列であれシリアライズ(serialize)することで、それらを文字列化することができる。
そしてunserizliseすることで、もとのオブジェクトや配列に戻すことができる。
例えば配列をそのまま、ファイルに保存して、ファイルから文字列を呼び出して配列を復元するなどが容易に行える、とーっても便利なものなのですが・・。
が!しかし。

SimpleXMLオブジェクトをシリアライズ化してアンシリアライズしてもとにもどそうとしても、もとにもどせません(;_;)
正確に言うと、シリアライズ自体は成功するんだけども、アンシリアライズした時に、もとのSimpleXMLオブジェクト(SimpleXMLElementオブジェクト)に戻すことができません。

なぜだーって思いながら色々試したけど、だめでした。
他にも同じ現象の人がいたので、まーだめなんだろうなぁ、とあきらめました。
まだPHP5.2.0で検証していないので、わからないですが(PHP5.1.6で試しました)そのうちなおるだろっということで放置。

SimpleXMLのオブジェクトをシリアライズすれば、保存XMLの保存簡単じゃーんっておもったそこの人!ご注意くだされ。
逆にうまくいった人教えてください(他力本願)

マニュアルのための文章校正 
木曜日, 11月 16, 2006, 01:15 AM - TIPS
この時間に家にいる・・・幸せ。

さて、毎日業務で xFramework のマニュアルをかいているのだけども、文章ってむずかしいね。
意外とまちがってるのよ、日本語。

特にマニュアルのような文章は、作ってから校正をすると、ものすごく大変なのです。そこで、JustSystem信者な僕が購入したのが「 Just Right!2 」です。このソフトすごいです。
自分で書いた文章の、文章ゆれとか、言い回しがへんなところとか指摘&修正をしてます.価格は2万円ちょっと。個人で買うにはちょっと高いかも。でも個人のメールやブログ用にLEというエディッションがあって、そっちは8000円くらいなので、お買い得。

あんまり余裕がないので(僕自身が今)、詳しくブログでは説明できないけども、是非だまされたとおもって使ってみてください。飛躍的に文章の質が向上します。

3日坊主にならないように、今日もブログを更新したっと。

一太郎2006でのヘッダ・フッタ設定 
火曜日, 11月 14, 2006, 04:25 AM - TIPS
むぉ、もうこんな時間。
休憩する前にブログでも書こうかなぁとっ。

ここ最近マニュアルを作ることが業務であって、うちの会社であ一太郎を使っているんだけども、一太郎でやっとこさ、さっき一通りの設定が終わったのでメモ。

まず、ヘッダ・フッタの設定。
直接編集してしまってもいいけども、大見出し、中見出し、小見出しに連動させたいときがあると思うんだが、というか僕はしたかったんだけども、下記のようにやる。

[ファイル]>[文章スタイル]>[ヘッダ・フッタ]から下記のダイアログを出す。



表示するヘッダ・フッタというところを見出し連動タイプにする。
あとは、%1とか%2がそれぞれ大見出しとかに対応しているので、埋め込んであげる。
これだけで、ページの大見出しとか、中見出しの文言をヘッダ・フッタに表示できる。
便利!!
しかも、奇数・偶数ページ毎にヘッダ・フッタの内容を変えられるので、奇数ページには中見出しを、偶数ページには大見出しみたいな、市販の書籍みたいなことが簡単にできます。



オトナ語 
月曜日, 11月 13, 2006, 04:04 PM - 日記
ちょっとしたことで「マター」の意味がわからなかったためググッてみたら、こんなのみつけた。

マター以外にも「シェア」とか普段なにげに使っているのも意味不明なことだったりするんですね・・普通の人にとって。

Windows上でのSMTPD/POP3D 
日曜日, 11月 12, 2006, 12:28 AM -  PHP
PHPの開発を行う際にWindowsで開発を行う際にxammpなどを利用してスタンドアローンで開発している人は少なくないのではないでしょうか。
しかし、メールの送信プログラムに関してはFTPなどでLinuxサーバに乗せてテストするなどしていませんか?
実際にWindowsの中だけで完結させたいと思いませんか?
僕は前からそうしたいなぁと思っていながら時間が無かったため、しょうがなくそうしていたのですが、xammpのMercuryを使って送信することもできますが、設定が以外とめんどくさいです。
なので、今回はメールサーバとしてjamesを導入してみたいと思います。
http://james.terra-intl.com/ からダウンロードをしてきてください。
解凍すると「james」というフォルダがあるはずです。そのフォルダをC:\直下に移動します。
そうして、bin/run.batを実行すると起動できます。
これで終わりです。あとはPHPからメール送信プログラムを実行して見てください。

・・・。
で・・・コマンドラインでっぱなしなんですが・・・。
そう、実際使いたいときに毎回起動しないとだめなんですね。
めんどくさい。

なので、こいつをサービスとして登録します。
どうやら正当なやり方があるようですが、簡単に導入したいので EntryService というフリーソフトを使ってみます。
こいつにbin/run.batを追加して「自動」で起動するようにしてあげます。
これで終わりです。



コメントを書く   |  このエントリーのURL   |  related link   |   ( 2.9 / 36 )


Back Next