PEAR :: PEPr :: Details :: Services_IM>> Description Provides a standard O-O interface to the many IM protocols currently available. Easily extensible with a class hierarchy to support the protocols.
PEPrにDraftでServies_IMが。そりゃ実現すれば便利だけども先、長そうだなー。
PEAR :: PEPr :: Details :: Services_IM>> Description Provides a standard O-O interface to the many IM protocols currently available. Easily extensible with a class hierarchy to support the protocols.
PEPrにDraftでServies_IMが。そりゃ実現すれば便利だけども先、長そうだなー。
p0t: Beautifyしてくれねえhttp://www.waterproof.fr/products/phpCodeBeautifier/
とかってどうでしょうか?確かPEARの書式にも変換できた気がします。
Posted by shimooka at March 20, 2006 09:41 PM
shimookaさんよりBeautify情報。早速試してみました。どうやらPHPEditっていうエディタの副産物のようです。当然Windowsアプリ。
phpCodeBeautifier http://www.waterproof.fr/products/phpCodeBeautifier/
おお、ほぼ完璧じゃないスか。これはいいものだぁあー。
と、思ったらコマンドラインからだと何故かほとんどのオプションが利かない。そんでこんな感じになる。
C:\WINDOWS\Temp\phpCB-devel-0.8-2003-09-18>phpCB --comment-rendering-style PEAR
--equal-align-position 50 --padding-char-count 4 dirty.php
<?
require_once("Foo/Bar.php");
$foo = foo();
function connect (& $dsn, $persistent = false){
if(is_array($dsn))
{
$dsninfo = & $dsn;
}
else
{
$dsninfo = DB :: parseDSN($dsn);
}
if(!$dsninfo || !$dsninfo['phptype'])
{
return $this -> raiseError();
}
return true;
}
?>
バッチ的に古いコードを一括で変換したいところ!
PHPコーディングスタイル矯正中のおれですが、これが標準だと思うと「コレはコレで結構・・・」とかなってきて書き途中のコードも全部PEARスタイルにしたくなってきた。手で全部直すのはかったりぃので昔気になってたPEAR PHP_Beautifierを試してみることにしました。PHP_Beautifierはいまだに0.1.7(beta)だそうなのでまたpreferred_stateをbetaに、
colinux:~% sudo pear config-set preferred_state beta
そしてなぜかPHP5じゃなきゃ駄目らしいので切り替え
colinux:~% sudo update-alternatives --config php
やっと入った。
colinux:~% sudo pear install PHP_Beautifier
これでphp_beautifierコマンドが使えるようになるので試しにこんな感じのコードをBeautifyしてもらう。
colinux:~% cat ~/www/php-examples/dirty.php
<?
require_once("Foo/Bar.php");
$foo=foo();
function connect ( &$dsn,$persistent=false ){
if( is_array($dsn) )
{
$dsninfo = &$dsn;
}
else
{
$dsninfo = DB::parseDSN($dsn);
}
if( !$dsninfo || !$dsninfo['phptype'] )
{
return $this->raiseError();
}
return true;
}
?>
PEARスタイルに変えてくれそうな設定で変換。
colinux:~% php_beautifier -l "Pear()" ~/www/php-examples/dirty.php
<?
require_once ("Foo/Bar.php");
$foo = foo();
function connect ( &$dsn, $persistent = false)
{
if ( is_array($dsn)) {
$dsninfo = &$dsn;
} else {
$dsninfo = DB::parseDSN($dsn);
}
if ( !$dsninfo || !$dsninfo['phptype']) {
return $this->raiseError();
}
return true;
}
?>
Mar 20 19:26:10 php_beautifier [info] Filters used: Pear
Mar 20 19:26:10 php_beautifier [info] /home/komagata/www/php-examples/dirty.php to STDOUT done
Mar 20 19:26:10 php_beautifier [info] 0 seconds needed
うわっ、なにこれ、びみょう・・・。
コードを見やすくするためにPHPのコーディングスタイルもPEAR標準に従って読みやすくしていきたい。
よく読んでみるとPEAR標準コーディング規約は結構細かく書いてある。viやemacsでの設定も書いてあるので便利だ。大まかにまとめるとこんな感じ。大体こんな感じのコードになるようです。
<?php
require_once 'Foo/Bar.php';
$foo = foo();
function connect(&$dsn, $persistent = false)
{
if (is_array($dsn)) {
$dsninfo = &$dsn;
} else {
$dsninfo = DB::parseDSN($dsn);
}
if (!$dsninfo || !$dsninfo['phptype']) {
return $this->raiseError();
}
return true;
}
?>
意外と「うわっ、勘弁してくれよ!」っていう感想の人が多いんじゃないでしょうか。おれもそうですが、頑張って自分の体を合わせて行きたい!(ドM)
PEAR :: Manual :: コードの提供コードの提供にあたっての要求事項
コード自体およびパッケージの著者に対して、 いくつかの要求事項があります。
- 標準コーディング規約への合致
新しいパッケージの作成か、既存のパッケージへの付加かに係わらず、 PEAR にコードを提供する場合は、 標準コーディング規約 に合致している必要があります。 標準コーディング規約というものが良いものかどうかについては 多くの議論がありましたが、絶対に必要なものであるとの決定に達しました。 さらに議論する意義はありません。
スタイルシート読み忘れ・・・じゃなくて、ブログのデザインを変更しました。
コードの見やすさ最重視という狂ったコンセプトです。シンタックスカラーリングも絶対やりたいんですが、いい方法が見つからず探し中です。
刀削麺荘で飲み会。
Webのことを話す予定で集まったハズが、光栄(ランペルールと維新の嵐)の話で異常に盛り上がる。 おれらはゲーム世代でいま中3ぐらいのやつがネット世代か!?
tmpruby’s Wiki – Debianapt-get update で
W: GPG error: ftp://ftp.nerim.net unstable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 07DC563D1F41B907
Unofficial Debian Package を見てみると、ftp://ftp.nerim.net/debian-marillat/ に対しての処置が示されている。
Debian etchの場合apt-get updateで
W: GPG error: ftp://ftp.nerim.net unstable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 07DC563D1F41B907
とか出る状態への対処法。死ぬほど助かりました。
経緯:
p0t: コンポーネント化されたテンプレパーツMojavi Smartyでコンポーネント化されたテンプレートはどうやって作るんだろうか・・・。
悩み。
p0t: Action呼び出しプラグインテンプレ中でActionChainでパーツを呼び出す。 なんで今までこれ気づかなかったんだろ。
解決。
本題:
Webアプリのコンポーネント化されたテンプレパーツが好きだ。
他にも好きな奴がいるらしい。JSR 168にPortletなんて仕様もあった。
JSR-000168 Portlet Specification
いやいやいや、こんなメンドイやつじゃないっつーの。ロジックとテンプレ(見た目)がひとまとまりになってればなんでもいいっつーの。
前述のmojavi_actionプラグインによって解決に見えたが、あれには2つ問題があります。
2は例えばログインのコンポーネントがあったとして、ログイン失敗したときに元の画面に遷移できない。いくつものコンポーネントが集まって一つの画面になってるのに遷移先はそのコンポーネントのみの画面に遷移しちゃうんです。
Paul Grahamの教え子(じゃない)はどうやってるのかなと思い、最近のUI的ヒットであるreddit.comを見てみました。
これのログイン枠も同じ問題を持ってるハズ!
?error=1だとinvalid loginで、
?error=2だとusername already takenかよ!!!
Life Hacks PRESS 記事 「自分のための情報整理」:Goodpic技術評論社のムック、Life Hacks PRESS ””デジタル世代の「カイゼン」術”“に記事を書かせていただきました。百式 – 100SHIKI.COM / checkpad.jpでもお馴染みの田口さん監修。Getting Things Doneやマインドマップ、Google活用術などなど、日々の作業がスムーズになるカイゼン・アイデアが満載。
Lifehackで一冊ムックが出るとはすごいなー
羨望は無知 – なぜ「デザイン」という行為、「デザイナー」という職業は誤解されるのかこの記事でいう「ハイブリッド君」(デザイナーとエンジニアのハイブリッドみたいなやつ)のことを本当はデザイナーと呼ぶのではないか、ということだ。
この間、Ajaxを使ったサイトの工数見積もりでデザイナーの人が、
「これどっち(エンジニア or デザイナー)が見積もるの?」
って聞いてました。 今までは紙芝居だったからそういう分け方が成り立ってたんでしょうな。