PHP

GAE/Jでちいたんを動かす!その4

前回のファイルだとデプロイして確認すると、ブログ書き込み、削除などの後にエラーが出てた。 (知ってはいたんだけど、原因がわからんかったので放置してました) で、原因がわかったので修正版を。 ↓デモサイト http://pluswing-test.appspot.com/gae_cheet…

GAE/Jでちいたんを動かす!その3

BigTable以外の Memcache FetchURL Mail Images Google Accounts をとりあえず、実装。 ImagesはQuercusがアップロードファイルを保存しようとしてエラーを食らうので、実際は出来ない。 とりあえず、ライブラリとサンプルだけ用意した。gaephp.jar http://p…

Quercus tips

ちいたんでBigTableを使えるようにするまでかなり試行錯誤したので、 Quercusのノウハウが溜まったので紹介。 importはメソッド内で。 import文はそのクラスを使うメソッド内でやらないといけない。 たとえば function __constructor() { import com.google.…

GAE/Jでちいたんを動かす!その2

昨日は時間がなくて紹介だけしたGAE上で動くちいたんを公開。GAE/Jでちいたんを動かす!その3に最新版がありますので、そちらをご利用ください。 BigTableアクセスクラス(ソース入り) http://pluswing.net/down/gaephp-1.0.0.jar GAE/J対応 ちいたん http://…

PHP Extension iniの設定を読み込む

PHP

んー何て言ったらいいのか・・・ mbstringだと、 php.iniに [mbstring] mbstring.〜 = ○○ みたいに設定できるよね。 ini_set()で変更もできる設定ね。 あれを、自作のextensionでも使いたい! ということで、やってみた。 といってもほとんど作業は無いんだ…

PHP Extension

PHP

を作る仕事が入るかもしれないので、 ちょっと復習してみた。 まえにチラッと見たことはあって、 Cでガリガリやりゃいいことは分かってたんだけど、 いやこれ、予想以上に簡単。クラスもさほど難しくないし。 PHPでやるには面倒な処理とかあったら、(あるの…

CakePHP ペア要素オープン プラグイン

と、前に日記で書いた、プラグインのソースをもったいないので公開。 右クリックメニューにCakePHPが追加されます。 コントローラファイルか、ビューファイルで、右クリック→CakePHP→OpenPairで、ペア要素が開きます。 コントローラファイルは、カーソル位置…

CakePHPで楽観ロックを実現するビヘイビア

CakePHP1.2.xにはビヘイビアというやつがあり、 モデルにmixin的な事ができる。(というかそのもの) で、楽観ロックをするビヘイビアを作ってみた。var $actAs = array("versioned"); って書けば、modifiedカラムが楽観ロックのバージョンとなる。(意味合って…

ちいたんでS2JDBC風検索

PHP

ちいたんで先に紹介したS2Modelとほぼ同様の検索をするやつを作った。 前に、CakePHP風にアソシエーションがとれるようにする拡張とか、RailsのComposedOf的な拡張とかを公開しているので、これが第3弾となる。 今回は、CModelを直接拡張するタイプではなく…

CakePHPでS2JDBC風検索

私は、PHP案件はEclipsePDTで開発しているのだけども、 Modelやテンプレートファイルのコードアシストが効かないため、 最初苦労した。 というか、数日触ってないとAPIなんぞは忘れるので どうにかコードアシストが効かないもんかと思っていた。Eclipse PDT…

範囲郵便番号検索ウェブサービス

というのを作ってみた。名前がイマイチだけど。 なにかというと、地図(GoogleMap)の表示されている範囲に存在する郵便番号を一覧で返すというもの。 100%正確なデータを返すとは限らない*1のがアレだけど、 80%くらいはとれるんじゃないかな。サンプル http:…

CakePHPについて語る。

最近、新しい仕事でCakePHPを使っている。 ここ最近まで、Javaばっかりやってたので、結構新鮮な感じ。 まえに、CompileViewなんて作ったんだけど、 使わなくてもいいやーって、作ってた。 しかしだね、これ。 CompileViewって便利杉。(自慢かよw) imgタグと…

Ajaxフォームを作ってみた。

今まで散々CakePHPで開発していたにも関わらず、 Ajaxヘルパはほとんど使ったことが無かった。 (直接prototype.jsいじってた) フォーム全体をAjax化したいなぁ〜 と思って、調べてみたらAjaxヘルパで出来るのね。 しかも、超簡単。 参考:http://www.syuhari…

Railsの話

Railsでは、ActiveRecordの機能が非常に充実している。 Cakeだとアソシエーション情報を取ってこれるだけで、 それ以上の機能はないが、(バリデーションとかはありますが・・・) Railsだと、アソシエーションを指定することで、それぞれ使えるようになりメソ…

PHPプログラマのためのRuby

RailsライクなPHPフレームワークである、 CakePHPは使ってるけど、RailsというかRubyはあんまし知らない。 と言う人向けのRuby講座でもやってみる。 違いさえ分かればそんなに難しいもんじゃないし、 CakePHP(1.1系より1.2系の方がもっと良い)を知ってれば、…

CodeIgniter

PHP

CodeIgniterというPHPフレームワークがあるようで、 今日、本屋に行ったら、入門書が売っていた。 ざっとみてみたところ、CakePHPと根本的な部分は変わらないみたい。 ただ、モデルがDBにデフォルトでは接続しないなど、ちょっと現状のWebアプリでは逆だろう…

googleMapとIE6のバグ

つい今しがた、なんでー?というバグの原因が分かった。 分かれば何てことは無いんだけど、なんでやーって所がある。 IE6ひどすぎるわ。。 今回のバグは、 Firefoxでは動くのが、IE6だと動かないというもの。 ググってみたが、それらしいサイトはみつかるも…

XOOPSモジュール作成

PHP

仕事で、XOOPSモジュールを作成することになり、 触ったことのない、XOOPSをひととおり触ってみた。 以前、分厚い書籍をチラ見して、難しそうだ・・・という印象を持ったが、 そんなに難しい物でも無かった。 覚えることもそんなにない。 そこで、初歩のXOOP…

続・ちいたんでアソシエーション

前回のエントリで紹介した、 ちいたんでアソシエーションを実現するモデルクラス。 いろいろ使ってみて、バグがあったり、テストが無かったりで、もうダメダメだったので、 SimpleTestを使ってテストを書きつつ、バグfixをしてみた。 ↑超便利。 テストコード…

ちいたんでアソシエーション

※クラスを更新しました。 続・ちいたんでアソシエーション からダウンロードできますので、そちらをご利用ください。 開発ではもっぱらCakePHPを使ってますが、 小さめの開発では、CakePHPを導入するのはちょっと大げさすぎたり、 mod_rewriteを使わずに、〜…

PDT

eclipseでPHP開発をするのに、今までPHPEclipseを使っていたんだけど、 PDTに乗り換えた。 PDTは出始めの時に一度使ってみたのだが、コードアシストが効かずなんじゃこりゃ!ということで敬遠していた。 PDTはかなり他のプラットフォーム(?)に依存しているの…

JasperReportsとPHPの連携

ということで、昨日ちょっと書いたPHPと連携させるやつをアップしました。 コメントが書いてなかったので、追加。 http://pluswing.net/down/JasperReports4PHP.zip 昨日、文字化けが起こると言っていたのは、 PDFリーダのせいみたい。 (うちのマシンはLinux…

Zend_XmlRpcに関するtips

あまりにも、日本語の(英語も)情報が少ないので色々と大変だった。 とりあえず、XmlRpcって聞いたことしか無いんだけど、使ってみてぇ! って方の為に、簡単なTipsを。 まず、43.2. Zend_XmlRpc_Clientのサンプルについて http://framework.zend.com/xmlrpc …

mixi hacks

今日、とあるホームページの打ち合わせをしていたときに閃いた。 mixiのコミュニティとかの情報を引っ張ってこれたら便利じゃね? これいけんじゃね? ということで、mixiから情報を引っ張ってくる試み。 作ってから、ふと思ってgoogle先生に聞いてみたところ …

class.upload.phpの注意点

PHP

class.upload.phpを以前使って案件をこなしたことがあって、 今回も同じようなことがしたかったので、サイトから新しいバージョンを取ってきた。 サイトのサンプルも変わっていて、なにやら新しい感が漂う。 で、使ってみたら、 なぜか、画像のリサイズがで…

クッキー・セッション関連の覚え書き

以前書いたCakePHPの携帯対応で、 言ってたことを忘れ、それで小一時間悩んでしまった。 なので、忘れないように書いておく。 どうも、私はセッションとかその辺に疎いようである。 携帯はクッキーを使えないと思ってかかった方が良いので、 ログイン情報を…

Zendでも、Symfonyでもなく、CakePHPを選んだ10の理由

C#のコラムをパチってやってみる理由1 PHP4,5両方対応。 これは、開発者にはありがたい。 個人レベルだと、(お客がすでにサーバを借りていて)バージョンを選びようがない場合がある。 そんなときに、PHP4だったら、ZendもSymfonyも太刀打ちできない。 理由2 …

スクリプト言語の課題?

PHP

なーんか前にも同じような事を書いた気がするけど スクリプト言語で開発をしてると、 abstractとかprivate/publicとかがあっても 実行時に分かるから、あんま意味なくね? って思う。 コンパイルがある言語だと、コンパイル時にエラーなりなんなりが出るから…

続・設計に関して(DI)

PHP

PHPでインターフェイスを使う場合にこうしたらいいんじゃね? というのがひとまず見えたので報告。 まず、インターフェイスの存在価値は非常に大きい。 PHP5に感謝。スクリプト言語ということを考えると、 これでテストも出来るし、でいいのかと思う。まず、…

設計に関して

PHP

PHPは、変数の型が動的に決まるので、 PHP5の機能を使用しても、イマイチJavaのようにはいかない。 と書こうとしたんだけど、よく考えたらまぁこれでもいいのかと納得した。PHPでは 変数宣言時に型が決まるわけでは無いので、 $obj = new ClassA(); としてい…