駒形電産

PEAR :: PEPr :: Details :: MDB2_ActiveRecord

MDB2_ActiveRecord is a simple ActiveRecord implementation wrapped around MDB2.

TODO: Implement associations. Impelemnt validation.

ほぅ。

Sooey – Zend Framework Preview released

Zend Framework in Gentoo Linux によると Gentoo の portage にも既に存在している模様。

その辺でGentoo好きつったらもしや・・・

Zend Framework in Gentoo Linux – Sebastian Bergmann

The Zend Framework, which is a high quality and open source framework for developing Web Applications and Web Services, is now available through Gentoo Linux’s portage system

Sebastianかよ!

Sebastian Bergmann

About Sebastian Bergmann

Sebastian Bergmann

Sebastian Bergmann was born in 1978, lives in Siegburg, Germany and studies Computer Science at the University of Bonn.

今さら開発環境に疑問を持ち、結局全部刷新してしまったので、どのくらいかかるもんなのか振り返ってみました。

まず、screenとzshに関しては元々の環境とそれほど変わらずただプラスアルファっていう感じなので1日も使ったら、

「なんで今までつかってなかったんダッ! > 過去のおれ」

ってなりました。 emacsについてはやっぱり慣れるにはずいぶんかかりました。これはおれがドMだから、

「うぉー!ムジィー!」

とかいいつつ逆に熱がってたところもあるかもしれず、万人に薦められるかは未だ疑問です。

この辺りから使い始めて今月に入ってやっとストレスを感じることなく開発できるようになってきたので、実質2ヶ月近くかかってることに・・・。

というかもう他のキーバインドに逆にストレスを感じるようになってしまったのでめでたく洗脳完了・・・といったところでしょうか。ただ苦痛を我慢しながらやったというより面白がって覚えることができたので良かったです。

「Debian WoodyにあるPHPがPHP4.1.2だったので、PHP5.1.2が出たら使う!」

とか豪語してから1年以上経ってすっかり忘れてましたが・・・・・・・・・もう出てんじゃん!!!

EtchにもPHP5.1.2入ってるし、いまからつかってきますよ!(糞遅)

今ごろMojavi2用Smartyプラグイン作成。

<?php
function smarty_function_mojavi_action($params, &$smarty) {
    $controller =& Controller::getInstance();
    $actionChain =& new ActionChain();
    $actionChain->register($params["module"]."_".$params["action"], $params["module"], $params["action"]);
    $actionChain->execute($controller, $controller->request, $controller->user);
    return $actionChain->fetchResult($params["module"]."_".$params["action"]);
}
?>

これをこんな感じで使う。

<html>
<body>
<div id="menu">
<strong>{mojavi_action module="Menu" action="List"}</strong>
&lt;/div&gt;
&lt;div id="contents"&gt;
foo
bar
ontent
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

テンプレ中でActionChainでパーツを呼び出す。 なんで今までこれ気づかなかったんだろ。

POST後はリダイレクトした方が吉:phpspot開発日誌

掲示板などで、フォームに対して送信した後は、そのまま画面のHTMLを返すのではなく、書き込み処理等を行った後、Location等で別の位置にリダイレクトするのが吉、という記事。

これのことを何ていうのか、これを表す名前ってたぶん無いと思う。 なんてつけたらわかりやすいかな。“再POST問題”とか?

去年の12月2日に出てたPHP5対応のPHPDocumentor 1.3.0RC5(beta)を使ってMojavi4のAPI Documentを出して見ました。

普通に

colinux:~% sudo pear install PHPDocumentor

してもPHP4用の1.2.3(stable)が入っちゃうのでpreferred_state(優先する状態?)をbetaに設定する。

colinux:~% sudo pear config-set preferred_state beta
config-set succeeded

お、できた。

colinux:~% sudo pear config-get preferred_state
beta

確認。

PHPDocumentorのインストールは何故かメモリをPHPデフォルトの8M以上使うらしく、途中で落ちるのでCLI版PHPのmemory_limitを適当に増やしとく。(Debian etchの場合のCLI版PHP5のphp.iniは/etc/php5/cli/php.ini)

PHPDocumentorのオプションは使うたびにきれいさっぱり忘れてるのでメモ。

phpdoc -d /home/komagata/work/4.0.0-DEV/trunk/source/share/packages/ -t /home/komagata/work/mojavi4-doc -o HTML:Smarty:PHP -ti 'Mojavi 4.0.0 API Reference Manual'

あとはCSSを適当なMojaviカラー(勝手に思ってる)に変更して完成。

Mojavi4 API Document

ついでにMojavi3のも作ってMojavi Japanから見れるようにアップしときました。更新されるたびにBuildするとかいう泥臭い作業をおれがやりますのでどうぞお使い下さい。

今まで考えないようにしてきたPHP4と5の共存について、ちょっとだけ薄目開けて取り組んでみました。

とりあえず、何とかなりそうなCLI版の方のPHP4をインストール。(Debian etch)

colinux:~% sudo apt-get install php4-cli

PHP5もインストール。

colinux:~% sudo apt-get install php5-cli

pagerみたいにalternativesが使えれば簡単に切り替えられるはず。

colinux:~% sudo update-alternatives --display php
php - status is manual.
 link currently points to /usr/bin/php4
/usr/bin/php4 - priority 40
 slave php.1.gz: /usr/share/man/man1/php4.1.gz
/usr/bin/php5 - priority 50
 slave php.1.gz: /usr/share/man/man1/php5.1.gz
Current `best' version is /usr/bin/php5.

つかえた。

colinux:~% sudo update-alternatives --set php /usr/bin/php4
colinux:~% php -v
PHP 4.4.2-1 (cli) (built: Jan 18 2006 12:33:46)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

CLIに関しては安心した。でもapacheモジュールの方は・・・?

mod_php4をインストール

colinux:~% sudo apt-get install libapache2-mod-php4

そしてmod_php5をインストール

colinux:~% sudo apt-get install libapache2-mod-php5
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
<strong>以下のパッケージは「削除」されます:
  libapache2-mod-php4</strong>
以下のパッケージが新たにインストールされます:
  libapache2-mod-php5
アップグレード: 0 個、新規インストール: 1 個、削除: 1 個、保留: 1 個。
2341kB 中 0B のアーカイブを取得する必要があります。
展開後に追加で 2081kB のディスク容量が消費されます。
続行しますか [Y/n]?

えー削除かよー。 etchのapache2では各モジュールのconfが/etc/apache2/mods-availableディレクトリにはいって、/etc/apache2/mods-enabledディレクトリからそっちへシンボリックリンクを張ると有効になるって感じになってるらしい。

colinux:~% ls /etc/apache2
README        conf.d   httpd.conf  mods-available  ports.conf       sites-enabled
apache2.conf  envvars  magic       mods-enabled    sites-available  ssl
colinux:~% ls /etc/apache2/mods-available
actions.load      cgid.load        imap.load        <strong>php5.load</strong>           suexec.load
asis.load         dav.load         include.load     proxy.conf          unique_id.load
auth_anon.load    dav_fs.conf      info.load        proxy.load          userdir.conf
auth_dbm.load     dav_fs.load      ldap.load        proxy_connect.load  userdir.load
auth_digest.load  deflate.load     mem_cache.load   proxy_ftp.load      usertrack.load
auth_ldap.load    disk_cache.load  mime_magic.conf  proxy_http.load     vhost_alias.load
cache.load        expires.load     mime_magic.load  rewrite.load
cern_meta.load    ext_filter.load  <strong>php4.conf</strong>        speling.load
cgi.load          file_cache.load  <strong>php4.load</strong>        ssl.conf
cgid.conf         headers.load     <strong>php5.conf</strong>        ssl.load
colinux:~% ll /etc/apache2/mods-enabled
合計 0
lrwxr-xr-x  1 root root 36 2005-12-12 23:06 cgi.load -&gt; /etc/apache2/mods-available/cgi.load
<strong>lrwxr-xr-x  1 root root 37 2006-02-20 00:38 php5.conf -&gt; /etc/apache2/mods-available/php5.conf
lrwxr-xr-x  1 root root 37 2006-02-20 00:38 php5.load -&gt; /etc/apache2/mods-available/php5.load</strong>
lrwxr-xr-x  1 root root 40 2005-12-11 18:22 userdir.conf -&gt; /etc/apache2/mods-available/userdir.conf
lrwxr-xr-x  1 root root 40 2005-12-11 18:22 userdir.load -&gt; /etc/apache2/mods-available/userdir.load

自分の手でシンボリックリンク張ったり消したりするしかないのかな? なんか仕組みがありそうな気がする!

CEFA::Blog – set user idとsticky bit

UNIXについてのテキストを作成している同僚から標記の話題が出たのでメモです。走り書きみたいな感じなのでワケが判らない文章になるかも。詳しく知りたい方はman chmodを実行する事をお勧めします。

UNIXのパーミッションset user idとsticky bitについていままで見た中で一番判りやすい説明な気がしました。

FrapprJapan PHP Users Groupのとこをみてて気づいたんですが、

beatcraft.png

ちょwww離宮wwwwwwwww うそつけwwww