そろそろ本格的に symfony を...と勉強を始めて2日目。情報を漁っていくうちにメール周りがだいぶ面倒くさいことを知ったので、勉強がてらおやぢ組さんの jpMailPlugin に手を入れてみました。
PHPの最近のブログ記事
mantis1.0.7から送られてくるメールが一部文字化けしてたり文字コードがUTF-8で端末によっては読めなかったりしてイヤだったので対策した。動作環境はPHP5.1.6 / UTF-8で、core/email_api.phpを以下のように無理やり修正。
$ diff core/email_api.bak.php core/email_api.php
678,679c678,680
< $mail->CharSet = lang_get( 'charset', lang_get_current() );
< $mail->Host = config_get( 'smtp_host' );
---
> $mail->CharSet = 'ISO-2022-JP';
> $mail->Encoding = '7bit';
> $mail->Host = config_get( 'smtp_host' );
730a732,735
> mb_language('Japanese');
> $t_subject = mb_encode_mimeheader( $t_subject, 'ISO-2022-JP', 'B', "\r\n", strlen('Subject: '));
> $t_message = mb_convert_encoding( $t_message, 'ISO-2022-JP' );
>
mb_encode_mimeheader()の第5引数はPHP5からしか使えないとマニュアルに書いてあるけどホントか?PHP4.4.2からなら使えそうだけど...。
参考:
国際結婚を題材としたほのぼのマンガ「ダーリンは外国人」のダーリン(トニー・ラズロ氏)が主催するNGO「一緒企画」のサイトが、高機能CMS「drupal」でリニューアルされつつあるようだ。
彼の個人サイト(http://www.talking.to/tony/)は別のCMS「Xaraya」で構築されてることからも、各種CMSに明るい人なんだろうなあと推測。
ラズロ氏のように多言語を自在に扱えたら、俺ももっと人の役に立てるんだろうなァ…(反実仮想)
本日、とってもステキなサイトがオープンしましたよ!
Drupal-jBox.net オープンのお知らせ | Drupal-jBox.netDrupal-jBox.net オープンのお知らせ
投稿者:info 日付:水, 2006-03-01 00:002006/03/01より、Drupal国内ユーザのための情報交換/集約サイト「Drupal-jBox.net」をオープンしました。
当サイトは、国内に散在するDrupalの日本語翻訳や利用ノウハウを効率的に利用できるよう、集約・整理して提供することを目的としたサイトで、国内Drupalユーザの有志により立ち上げられました。
Drupalを調べる上でお世話になったサイト管理者の方が多数いらっしゃるみたいなので、国内でメジャーなCMSになるための大きな前進となるのではないでしょうか?さあ隠れDrupalユーザは早速登録だ!
ああ夢が広がりんぐ…
PHP Skills Test で12問中11問正解だったのは、よかったとしてもだな。
PHP-MLでも議論されていたけど、バウンスメール処理をPHPでやる場合、どうやったらできるのか考えてみた。
考えてみたらもそっといじれそうだったので、またいじってみました。前回以上にお気軽かつ確実な二重送信・多重送信の防止が期待できそうなヨカーン。
セッションを使ったPHP用の簡単なチケット(トークン?)管理クラスを作ってみました。
フナエさんから「最近更新してないねー。忙しい?」といわれたので更新します。
たぶん、国内でも2人くらいしか欲してなさそうなSmarty Tips。
ぢぢらぶろぐさんとこで紹介されていた“音相”解析エンジンOnsonic体験版。
新しい一人ジェンガの遊び方を知ってしまったくらいにヤバい。
ということで、今回はぢぢらぶろぐさんの遊び方にインスパイアされつつ、音相でPHPフレームワークを選んでみようと思います。
- eclipseの[設定→一般→エディター]から「テキスト・ファイル・エンコード」を「EUC-JP」に設定
- eclipse上で「~」(全角チルダ)を含むテキストファイルを保存
- 「~」の箇所だけが文字化け
という現象に困っています。
smartyカスタム関数のhtml_optionsを使うと、htmlのドロップダウンリスト(プルダウンメニュー)を作成することができる。じゃあこれを拡張して、リストボックス表示や複数選択を可能にするにはどうするか。
ここ1ヶ月、外界との交信を絶って没頭してたこと。
Eclipse+phpEclipse+各種プラグインでのPHP開発環境構築
EclipseをCVSクライアントとして使い倒す
サーバの設定ファイルをまとめてCVSで管理する
FreeBSDのCVSを最新版ソースでビルド(RapidSiteのVPS上にて動作OK)
Eclipse+PHP+DBGでPHPデバッグ
puttyごった煮版でiniファイルに設定保存させる
●●●可能な●●●●●●●に上記全てを入れて開発環境を●●●●→面白い試みだったが調整中
Eclipse自体が初めてだったり途中でEclipseのバージョンが上がったり慣れない作業が多かったりで、結局1ヶ月近く環境構築に勤しんでしまった。おかげでEmEditor+WinCVSで開発してた以前よりは格段に効率がよくなった。上記は是非まとめて書きたいのだけどぉぉぉおおあああああああいうえお
先日までブログツールであるところのNucleusをいじってましたが、イロイロあって昨日からWordPressをいじり始めています。まだ数時間しかいじってないですが、率直な感想としては
すごくいい。
tDiary、Movable Type、Nucleus、WordPressと使ってみましたが、総合的にランク分けするとこんな感じ。
Movable Type(神)
↓
WordPress(スーパーマン)
↓
tDiary / Nucleus(コボちゃん)
だったらMovable Typeだけ使ってりゃいーじゃんてことにもなりますが、WordPressはいい意味でクセ(特徴)が強く、使っていて楽しいツールになりそうです。Movable Typeと比較してみると…
先週土曜日、PHPのテンプレートシステムSmartyの勉強会で講師をしてきました。どうもお疲れ様でした。
皆様、ピザ3枚とも美味しゅうございました。発泡酒、ビールもおいしゅうございました。
資料4枚目くらいで笑いがとれたのは美味しゅうございました。PCが遅くてキャッシュのベンチマーク結果がすごいことになったのも美味しゅうございました。
でも30分以上迷って遅れたのは美味しゅうございませんでした。ボウズが被りまくってたのも美味しゅうございませんでした。男性率100%だったのはとても美味しゅうございませんでした。長尾様、何度もナビ代わりになって戴き有難うございました。
ということで、当日の発表資料とかを放流します。家庭円満によく効きます。
(08/23 修正)
全部zipで固めないでpdfだけは別に分けました。単なる検索エンジン対策です。
社内の情報共有を目的として、PHPベースでフリーのグループウェアを試しはじめた。最低限抑えておきたいのは、日本語化されていることとカレンダー機能がちゃんと動作する&使いやすいこと。
手始めにphpGroupWareをインストールしてみたけれど、管理しにくい、使いにくい、直感的にわかりづらい、ドキュメントが少ない、バグが多いと、全体的にいい印象を受けなかった。決定的だったのが、admin管理機能(環境設定機能)を間違って全ユーザから削除してしまい、一時管理不可能な状態になってしまったことだ。ウワァァァァン!!!!!
ひょんなことからWindows XPにLAMP環境ならぬWAMP環境を入れなきゃいけなくなったので、PHP4.4.0のインストールメモを残しておくことにする。実はPHPよりも先にインストールしたMySQL4.0.25の方で大きく躓いていたのだけど…(随分前にインストールした環境に上書きインストールしてしまったみたいで、手動でサービス削除&再登録しなきゃいけなかった)。
ちなみにMySQLを再度インストールするにはコマンドラインから
# sc.exe delete mysql
でサービスを削除し、
# /path/to/mysqld.exe --install
でサービスを再登録しないといけなかった。以前のインストールパスと異なる場所へインストールした場合は、上記の設定をしないと、いくらWinMySQLAdmin.exeから起動しようとしても失敗してしまうみたいだ。同じインストールパスの場合はどうなのかはわからんけれど。
セッションについて書いてみたらどうでもいいネタばかりになっちゃったけど、まあいいや。誰かのお役に立てれば。
セッションは、基本的に
session.gc_maxlifetime
session.gc_probability
session.gc_divisor
の3つをこねくりまわせば有効期限を制御することができる。この中で一番大切なのはsession.gc_maxlifetimeで、ここにセッションの有効期限を秒数で設定すればいい。
SmartyテンプレートがDBに保存されてるとして、それをPHP変数に取り込んだ後、どうやって表示しようかと思ったんです。
例えば、
$tmpl =<<<EOF
<html>
<body>
ここはテンプレの中身です。渡されたテンプレート変数$dataの値は{$data}です。
</body>
</html>
EOF;
みたいな感じでSmartyのテンプレートデータが$tmplの中にあるとする。で、ロジックの中にはすでに$tmpl(テンプレート)も$data(テンプレート変数)も存在しているとする。
さて、ここからが問題。このテンプレートおよびテンプレート変数は、どうやったら表示できるんだ?display()やfetch()は、引数にテンプレートファイル名を指定できるけど変数名は指定できないし。
ひょっとしたらdisplay()やfetch()で読み込むためのテンプレートリソースプラグインを作る必要があるのかも?とマニュアルを読んでみたものの、なんだか意味がわからず。で、暫し考えた後に力技で解決できた。

