php

デザイナーでも作れるスマートWebアプリ その2

php

〜Smartyでスマートプログラミング〜 「デザイナーでも作れるスマートWebアプリ - maru.cc@はてな」の続きだよ 前回のはどうだったかな? なんかね、トリッキーとかフリーダムとか言われちゃったよ。 ちゃんとテンプレートにしか書いてないのにね。 ロジック…

デザイナーでも作れるスマートWebアプリ その3

php

〜Smartyでスマートプログラミング〜 「デザイナーでも作れるスマートWebアプリ - maru.cc@はてな」 「デザイナーでも作れるスマートWebアプリ その2 - maru.cc@はてな」の続きだよ そろそろエセ外人の売り込みっぽい口調も限界なので普通に。 このシリーズ…

デザイナーでも作れるスマートWebアプリ

php

〜Smartyでスマートプログラミング〜 テンプレートエンジンって使ってるかい? 「テンプレートエンジン - Wikipedia」 デザイナとプログラマなど、作業の分担ができ、チームでの開発がやりやすくなる ロジック側はプログラマで、テンプレート側はデザイナー…

phpLexのTokenizer.lexファイル構造について

「作成したTokenizer.phpの差分 - maru.cc@はてな」の続き phpLexの記述方法について、Web上を探したのですが、それらしい情報が見つかりません。 それどころか、「phpLex」でぐぐったらこのサイトが1番目に出てしまいました。わからないという内容なのに。 …

session.use_trans_sidは外部ドメインへのformタグにも無差別に付加する

php

phpのセッション処理関数には、session.use_trans_sidという設定がある。 http://jp.php.net/session#ini.session.use-trans-sidCookieが使えない環境、つまり携帯などで、セッションIDを aタグなどの相対パスに自動で付加してくれる。 DoCoMoの端末ではセッ…

作成したTokenizer.phpの差分

「phpLex.exeのコンパイル通った! - maru.cc@はてな」の続き。 cvsから落としてきた Tokenizer.lex から作成した Tokenizer.php とのdiff。 $ diff Tokenizer.php Tokenizer2.php 19c19 < // $Id: Tokenizer.php,v 1.61 2005/05/14 04:01:41 alan_k Exp $ --…

phpLex.exeのコンパイル通った!

「Flexyどうこうの前にまずは準備 - maru.cc@はてな」の続き .NET FrameworkのSDKを落としてきて、コマンドラインからコンパイルしようとしたのですが、そもそもC#をコマンドラインでコンパイル方法がわからない。 今回の目的は、C#ではないので、とりあえず…

Flexyどうこうの前にまずは準備

「Flexyの構文解析はyaccとかで作ってる? - maru.cc@はてな」の続きです。 プラグインで拡張できない範囲の拡張に構文解析部分の修正が必要で、こちらのサイトを参考に試してみてます。 「HTML_Template_Flexy - 機能の拡張 - ループ構造の追加」 phpLexは…

Flexyの構文解析はyaccとかで作ってる?

php

「Flexyをとりあえず動かしてみる - maru.cc@はてな」の続き。 少しずつ時間の合間に、Flexyのソースを追ってます。 その中で、HTML/Template/Flexy/Tokenizer.php の中を見ていて気づいたのだが、最近どっかで見たコードに似ている。 「ベイエリア情報局: H…

foreachの制御構造に関する別の構文

php

Twitterでsymfonyの話が出ていたので、ドキュメント読んでみようと、chmファイルを落として読み始めてみた。 http://code.google.com/p/symfony-doc-ja/ まだまだ、肝心のsymfonyまで話が進んでないけど、その途中でちょっと見慣れない記述を見つけた。 <table> <tr><th>Date</th><th></th></tr></table>…

色つきで結果を表示するrsyncスクリプト

php

「コンソールで色つきを表示するPEARやその他の方法」d:id:maru_cc:20080218:1203344325 の続き。 せっかく色を付けられるようになったのでなんか作ってみた。 rsyncで結果に色を付けるphpスクリプト。 実行結果はこんな感じ。 削除対処は赤字で、同期対象は…

コンソールで色つきを表示するPEARやその他の方法

「phpのバッチでターミナル上で色をつける方法」d:id:maru_cc:20080216:1203166254 これで書いた、コンソールに色つきで文字を表示する方法について、PEARとかにありそうだなぁと思ったので、調べてみたらやっぱりあった。PEAR Console_Color http://pear.ph…

phpのバッチでターミナル上で色をつける方法

「PHPで書かれたWEBサーバ」d:id:maru_cc:20080215:1203077168 さっそく落としてソースを見てみた。ちょっと古いけど。 nanoweb 2.2.8 http://nanoweb.si.kz/ まず、インストーラからみてみた。 Windows用のバッチファイルとLinux用のシェルバッチがあった。…

PHPで書かれたWEBサーバ

php

同僚が社内IRCで話していたことの受け売りです。PHPで書かれたWEBサーバ http://project-p.jp/halt/kinowiki/php/NanoWeb いろいろ気になります。 Ethnaというところも気になります。 あとで落としてきてソースを見てみよう。

cliのmain関数を探してみる

php

「phpのコマンドラインオプション」d:id:maru_cc:20080214:1203007176 で調べたコマンドラインのオプションだが、実際にCのソースがどうなってるのか疑問に思ったので探してみた。 やはり、Cなのでmain関数を探す必要があるんだろうなーと、cscopeの Find th…

nl2brのソースを読んでみる

php

今日も何かphpのソースを読んでみようと思ったが、適当な関数が思い浮かばなかったので、nl2brにしてみた。 ついこの間、nl2brをはじめて知りましたっぽいことを言われてショックだったのを思い出したので。 例によって、cscopeで検索。 Find this text stri…

phpのコマンドラインオプション

php

mb_convert_kanaの中身を見てみるd:id:maru_cc:20080212:1202831190で、結局コマンドラインで実行時のphp.iniの設定ということで、別に作成したiniファイルを読み込ませるという手段を書いたが、せっかくなので他のオプションも触ってみた。 詳しくはヘルプ…

mb_convert_kanaで文字コード指定しないと誤変換する場合がある

php

前提として、phpはUTF-8で書いてます。 で、以下のようなphpを実行したとします。

mb_convert_kanaの中身を見てみる

php

「mb_convert_kanaで文字コード指定しないと誤変換する場合がある」d:id:maru_cc:20080212:1202813263 という現象があり、文字コード周りで久々にはまった。 そんな話を同僚に話したら、デフォルトでinternal_encodingの設定にしたがってくれればいいのに。…

関数の挙動をソースを追って調べてみよう

php

d:id:maru_cc:20080207:1202364374 $_ENVとか$_SERVERとかはvariables_orderの設定に依存するから getenvを使ったほうがいいよ。という突っ込みを同僚から受けました。 ということがあった時に、getenv関数は$_SERVERと$_ENVの両方に同じキーで違う値が入っ…

環境差異を吸収する方法

php

ローカルの開発サーバ、ステージングサーバ、本番サーバ。ある程度の規模になると同じプログラムを複数の環境で動かす必要がある。 URLやDB接続のためのDSNなどは、当然各環境によって変わってくる。そこで、環境変数に環境名(release|stg|dev|localdev)など…

Flexyをとりあえず動かしてみる

php

これの続き。 マージ不必要なテンプレートエンジン d:id:maru_cc:20080202:1201933332 phpでDOM解析系のテンプレートといえば、Flexyがまず最初に思い浮かぶ。 http://pear.php.net/package/HTML_Template_Flexy 内部実装がどうなっているかわからないので、…

自分が使っている関数ランキングとかとれたら面白いかも

php

今日、ペアプロで組んでいた人に、ナビゲーターとしてこんな関数があるよと口を出したところ、初めて知ったとのことでした。 たしかに、phpは関数が多い。 自分もすべて使いこなしているわけではないと思う。 ふと、気になったのだが、自分がよく使う関数の…

Smartyのデリミタとescape

php

Smartyのデリミタ、あと escape http://www.developer0000.jp/2008/02/03/2142/ こんな記事をみたので、うちの場合。 デリミタは基本XOOPS形式の です。 以前は、{{ }} とか、他の形式も試したことがあるけど、最近はこの形が多いです。 理由は、Smartyデフ…

phpのフレームワークといえば

php

Ethnaは使っていて、Symfonyとくれば、やっぱりCakePHPだろう。 CakePHP プログラマーズ リファレンスガイド http://cakephp.jp/doc/ ずいぶん前に試しで触っただけだから、もう一度ちゃんと見てみよう。 そーいえば、phpカンファレンス2007で、面白そうだと…

phpフレームワークのSymfony

php

OpenPNE3のフレームワークをsymfonyに決めました。 http://www.openpne.jp/archives/398/ だそうです。 Yahoo!も一部で独自拡張したSymfonyの導入をしていると、2007年9月のphpカンファレンスで話していました。 いま、仕事で使っているのは、Ethnaか独自フ…

下位バージョンで新機能の関数が使えるようになるPEARライブラリ PHP_Compat

file_put_contentsなどの新しいバージョンで実装された新機能の関数を下位バージョンで使えるようにするPEARライブラリ。 http://pear.php.net/manual/ja/package.php.php-compat.php

コーディング規約に反するところを検出するPEARライブラリ PHP_CodeSniffer

PEARのコーディング規約を読んでたら、こんな項目があった。 PEAR 道具箱 http://pear.php.net/manual/ja/standards.toolbox.php PEAR が開発者向けに用意しているツールを使用すると、 コードをきれいな状態に保ってコーディング規約がらみのエラーに悩まさ…

PEARエラー処理の指針のサンプルソースがちょっと変

http://pear.php.net/manual/ja/standards.errors.php

コーディング規約

こんな発言が目に留まった http://twitter.com/akky/statuses/671820692 すばらしいまとめ PHP で仕事をするときの注意 http://tinyurl.com/2w462t で、 http://slashdot.jp/askslashdot/comments.pl?sid=389009&cid=1290697 コーディング規約を守る。組織に…