読者です 読者をやめる 読者になる 読者になる

php

phpカンファレンス2010に参加

php

phpカンファレンス2010にスタッフとして手伝いをしています。 今年はまったく動けていなかったのですが、直前にMLを見ていたら24日のビジネスDayのスタッフが足りないとのことで、急遽有休を取って参加することに。 仕事的にも忙しいのだが、そこは多少無理…

保存時にリアルタイムテスト実行でお手軽テスト

普段、Ethnaを使用して開発しているのだが、EthnaはWeb画面でテスト結果表示なので、どうしても一手間増えてしまう。 実際にテストケースを書いてブラウザで確認するのであれば、テストケースを書かずに、書いた実コードをブラウザで動作確認していた時と変…

mod_access_tokenをPHPから使ってみる

mod_access_tokenとは ウェブサイト上の画像やファイルに有効期限を指定して、ユーザーに一時的なダウンロードを許可する、ライブドアで独自開発したApacheモジュールです。このモジュールをApache Webサーバに組み込むことにより、画像やファイルをウェブ上…

「Re:デザイナーとの協業での工夫 Smartyプリフィルタの活用法」実際に行なってみたソースなど その1

php

昨年の11月のエントリで、デザイナーとの協業での工夫というエントリを書きました。 デザイナーとの協業での工夫 Smartyプリフィルタの活用法 - maru.cc@はてな この案件が実際にリリースを向かえ、一通りの作業がひと段落がついたので、感想と今後行なって…

events.php.gr.jpに手を入れた

php

PHP勉強会などの告知、募集を行う http://events.php.gr.jp のシステムにちょっと手を入れてました。 以前は、Ethnaで出来ていたこともあり手をいれやすかったのですが、CakePHPになりしばらく中も見ていませんでした。 今回、管理者側機能の修正関連で落と…

MacBookにpearをインストールしたメモ

Ethnaのテストを動かそうとしてローカルの環境を整えていたら、simpletestが入っていなくて、さらにpearコマンドで入れようとしたら pearが入っていなかったので、インストールをしてみた。 ローカルの MacBookでは、phpもソースインストールではないので、…

デザイナーとの協業での工夫 Smartyプリフィルタの活用法

php

いま行なっている案件で、社外のデザイナーさんが作ったデザインをシステムに取り込むという件があり、お互いに労力の少なく出来る方法を考えてみたのでここに残しておく。前提として、システムばりばりなものではなく、デザインがメインだが、フォームがあ…

Ethna 2.5.0 preview1 リリースされました!

Ethnaの次期バージョン 2.5系の Preview1がリリースされました。 待望のUTF-8化です! 他にもいろいろ今後に向けた新機能が盛り込まれています。 主な変更点 ソースコード全体をUTF-8化し、それに伴うコード修正 EUC-JP への依存を外し、ユーザがエンコーデ…

PHPライブラリ「toInlineCSSDoCoMo」をEthnaに組み込んでみた

アシアルBlogにて、すばらしいライブラリが公開されました。 「DoCoMo向けにCSS指定をインラインに埋め込むPHPライブラリ「toInlineCSSDoCoMo」作りました : アシアルブログ」 昨日、GREEさんのオープンソースカンファレンスに参加し、株式会社ディー・エヌ…

EthnaでテンプレートにDBを使用する方法

ちょっと、IRCで話題になったので作成してみました。 Ethnaのテンプレートに DB内に入っているリソースを使用する方法についてです。 DB内に格納されているデータを、テンプレートとして使用する方法として、Smartyのリソースプラグインを使用するのがお手軽…

日時の期間を表示するプラグイン作ってみた

php

%EthnaのIRCチャンネルで以下のような話をしていたので、さくっと作ってみました。 15:35:04 sotarok > http://gyazo.com/65a04e7f3d77dae932f217ef80df9ddb.png 15:35:10 sotarok > http://gyazo.com/aa79e4a4f27275487f4a9616278bbf53.png 15:35:13 sotaro…

SoftBankで絵文字メールを送る方法

SoftBankの端末に、絵文字入りのテキストメールを送る必要があり、試行錯誤していたのですが、うまくいかない。 ke-tai.orgで紹介されていた方法 参考にした情報はこちら。 「ケータイに絵文字入りメールを送信するには(SoftBank編) | ke-tai.org - インフ…

php5.2.6からstrtotime関数の挙動が変わる

php

先日リリースした php5.2.6で、64ビットマシン上で、strtotime関数の挙動が変わるという現象がありました。 ChangeLogを見たところ http://www.php.net/ChangeLog-5.php#5.2.6 Fixed bug #44209 (strtotime() doesn't support 64 bit timestamps on 64 bit p…

Ethna2.3.5がリリースしました!

Ethnaが約10ヶ月ぶりにバージョンアップをしました。 今回の細かい修正は、公式サイトの変更履歴を見ていただくとして、今回の目玉は、何といっても、インストール時に依存関係のあるパッケージをまとめてインストールできるようになったことでしょう。 http…

今回のリリースに少しは貢献できた かな

今回のリリースに、少しは貢献できたかなぁ〜 http://ethna.jp/ethna-document-changes.html#x7a33d3a bug fixes ActionForm の validate test の結果が、次のテストに引き継がれてしまうバグを修正(thanks: maru_cc) ちょっとうれしい。 みんなも、もっと気…

Ethnaで絵文字ライブラリText_Pictogram_Mobileを使って絵文字表示

Asial blogにて、絵文字ライブラリをPEARパッケージ化されたものが公開されました。 symfony用プラグインとして出てはいたのですが、PEARパッケージ化されたことにより、Ethnaからも容易に使えるようになりました。 「絵文字ライブラリをPEARパッケージ化&s…

第32回PHP勉強会で話してきました

第32回PHP勉強会に参加してきました。 今回は、話す側として。 書く内容は、ずらずらとテキストで箇条書きで列挙していたので、それを土日でppt作成。 月曜の夜に飲み屋で、会社の同僚とで飲んだ時に、パワーポイントカラオケをしようということになり、作っ…

Ethnaを業務で使うために(4) テストの整備

「Ethnaを業務で使うために(3) テスト関連のディレクトリ構造の変更 - maru.cc@はてな」の続きです。 前回は、テスト関連のファイルが作成されるディレクトリ変更を行いましたが、次に実際にテストが動くようにします。 移動した状態を元に書きますので、前…

Ethnaを業務で使うために(3) テスト関連のディレクトリ構造の変更

「Ethnaを業務で使うために(2) ディレクトリ構造の変更 - maru.cc@はてな」の続きです。 前回は、AppManagerと、AppObjectのディレクトリ変更を行いましたが、次にテスト関連のファイルのディレクトリ変更を行います。 UnitTestしてますか? ある程度の規模…

Ethnaを業務で使うために(2) ディレクトリ構造の変更

「Ethnaを業務で使うために(1) 雛形の準備 - maru.cc@はてな」の続きです。 前回は、大枠の設置をしたので、今回は少し進めて、ディレクトリ構造の整理を行います。 大きく分けて次の3つの作業を行います。 AppManagerの作成されるディレクトリの場所を変更 …

【告知】PHP Framework Fight!(仮)開催告知

php

つい先ほど、IRCの %Ethnaチャンネルで面白い話が出ました。 その名も「PHP Framework Fight!」 お題を決めて、それぞれのフレームワークで実装し、それを比べてみようという企画です。 id:sotarokさんと、keyさんと、IRCで話していたのがきっかけです。 さ…

Ethnaでロケーションさせる方法

いろいろな方法があると思いますが、うちで使用している方法です。 まず、本家での説明は以下のようになっています。 http://ethna.jp/ethna-document-faq-dev_guide_faq.html#content_1_6 locationさせるメソッドはないの?今のところ、locationをさせるメ…

第32回PHP勉強会で話します

第32回PHP勉強会で話す立候補しました。 「第32回PHP勉強会 - events.php.gr.jp」 せっかくEthnaの回なので、なにか話せればと思って。 Ethnaを使用してモバイルサイト開発について話します。 前半は、モバイルに限らずEthnaで開発する場合に工夫している点 …

events.php.gr.jpのイベント管理システムのソースを見て思ったこと

events.php.gr.jpのイベント管理システムのソースが公開されたので、早速中を見てみました。 「events.php.gr.jpがcodereposに - /halt/Snapshot」 次会の第32回php勉強会で、haltさんがこのシステムについて話をされるので、設置方法等は割愛して、気が付い…

文字コードを変えて一気に出力する方法(PHPのob_start)

php

ちょっと目に留まったので。 「文字コードを変えて一気に出力する方法(PHPのob_start) | IDEA*IDEA」 こんな感じでいいと思いました。 <html> <head></head> <body> ここにShift-JISで出力したい…</body></html>

SOY CMSをユーザディレクトリ内に入れる方法

php

SOY CMSというCMS(Content Management System)がある。 http://www.soycms.net/ デモサイトがあるので、触ってみるといいと思う。 CMSとよばれるものをいくつか触ったことがあるが、これは結構いい感じだと思う。 いいと思う主な点 基本HTMLなので、余計なタ…

Ethna_Renderer_Php.phpを作ってみた

CakePHPも、昨日勉強会に行ってきたsymfonyも、Viewはphpを素で使う形式だ。 一方、EthnaはデフォルトでSmartyを使用し、Rendererを拡張することで、他のテンプレートエンジンを使うことも出来るようになっている。 ということで、EthnaでViewのテンプレート…

Ethnaを業務で使うために(1) 雛形の準備

Ethnaは、phpの良さ(悪さ?)の手軽さや軽さを損なわずに、基本的なベース部分を肩代わりしてくれるいいフレームワークだと思います。 もちろん、手厚くいろいろしてくれたり、型にはまったものを早く作るために、他のフレームワークの良さもわかるのですが、…

Ethna_Renderer_Flexy(alpha)を作ってみた

EthnaでHTML_Template_Flexyをテンプレートとして使えるクラスを作成してみました。 Ethnaの古いバージョン用で使えるのを作っている方はいらしたのですが、Rendererの拡張形式ではなく、Smartyというクラス名でSmartyを偽装する感じでした。 「Ethna Flexy …

rhacoとか触ってみた 既存DBからproject.xmlのdatabaseセクションを作成するバッチ

php

こんな記事をみて 「やめだやめだ!Ethnaでいくぞ! - 肉とご飯と甘いもの @ sotarok」 私は、ここ数日でひとつの決心をした。Cakeだのsymfonyだの、そんなもんはやめだ、やめ!EthnaだEthna。そして時々rhacoだ。 rhaco? そういえば、もうひとつきっかけが…

デザイナーでも作れるスマート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の両方に同じキーで違う値が入っ…