PHP

PHP勉強会

PHP

10日以上も前のことなのでいまさらではあるけど、PHP勉強会に行ってきた。PHPに興味があって、他のPHP技術者達と会いたいと思っていたり、他の人に貢献したいと思っている人たちが目の前にこんなにいる!ということに驚いてきました。おなか痛くて懇親会も出…

PHP勉強会 at 大阪に参加します

PHP

1月31日木曜日、大阪の心斎橋でPHPの勉強会をやってみたいと思います。id:ku-sukeが中心となり参加者と発表者を募集しています。初回なのでPHP初級者や他の言語を普段利用してるプログラマの方、 デザイナの方を主な対象に考えています。 2008-01-20 PHPの勉…

フォームヘルパでセレクトボックスの配列フォームを作ると値が保持されない

Ethna2.3.2での現象。 APPID_Form_Sampleでフォーム定義を以下のように記述する。 var $form = array( 'foo' => array( 'form_type' => FORM_TYPE_SELECT, 'type' => array(VAR_TYPE_STRING), 'option' => array('りんご', 'みかん', 'バナナ'), ), ); そし…

MySQL+ADOdbでトランザクションを使う

MySQL+ADOdbでトランザクションがうまく動かなかったので、チェックしたところをメモ。 データベースエンジンがMyISAMになっている MyISAMではトランザクションが使えない。トランザクションが使いたいならInnoDBとかにしないといけない。 なぜかInnoDBが使…

Ethnaのアクション指定パラメータって合理的

今までEthnaのindex.php?action_update=trueというようなアクション指定パラメータの形式には違和感があった。なんでindex.php?action=updateとかじゃないんだろう?って思ってたけど、この形式がとても便利だということに気が付いた。index.php?action=upda…

Illegal mix of collationsエラーが出ないようにする

MySQLにSELECT文を発行したら、以下のようなエラーが出て失敗した。 Illegal mix of collations (ujis_japanese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' ujisのテーブルにlatin1で検索条件指定しても駄目だよ、というエラーのよ…

凡ミス

DBにクエリを投げても結果のtrue/falseが返ってこない、と書いていた件はこちらの凡ミスでした。Beanにreturn文を書いてなかった...。

BeanとDaoをちょっと改良

昨日作ったBean+Daoは、ActionがBeanを取得するためにnewを2回使わないといけないというあたりがかっこ悪かったので変更してみた。 今まではActionがどのBeanとどのDaoを結びつけて使うかを管理してたけど、今度はBeanが自分の相棒にどのDaoを使うかを管理し…

DB周りの処理を書いた

テーブルと1対1対応し、そのテーブルへの入出力を担当するDaoオブジェクト テーブルの行と(だいたい)1対1対応し、行データを保持するBeanオブジェクト を作る。アプリケーション内ではBeanにデータを載せて処理を行い、DBへ保存したり更新したりするときには…

Ethna_DB_ADOdbは何をしてるんだろう

ADOdbのドキュメントを読んでる途中、「ADOdbはそのままでも十分便利そうだけど、これをラップしているEthna_DB_ADOdbは何をしてるんだろう?」ということが気になって、ソースを覗いてみた。 機能を追加するためのラップではなく、Ethna_DBというAPIに対応…

DBまわりのライブラリ選び

ユーザー登録フローの入力、確認画面までは既に作っているので、次は実際にDBにレコードを挿入する部分の処理を作成する。コードを書き始める前に、DBに接続するためのライブラリに何を使用するか決めないといけない。候補は、 EthnaのAppObject,AppManager …

家計簿サイトを作ります。

実用と勉強を兼ねて、PHPとEthnaで家計簿サイトを作ります。その過程で、どんな作業をしたとかどんなことを考えたとかをここに書いていこうと思います。 どんなのを作るか PHP5,Ethna,MySQLを使う 複式簿記の形式で記録する 中心になる機能は次の3つ。まずは…

UTF-8とUTF-8N

PHP

これでActionやテンプレートをUTF-8で書いても文字化けしなくなったのだが、代わりにWindowsXP+IE6の環境ではページの上のほうに1行分の変な余白が見えるようになってしまった。Firebugで確認しようとすると、うまく選択できないブロック要素があったりして…

EthnaのUTF-8化

PHP

Ethnaは基本的にEUC-JPで使うものらしいが、UTF-8で使う方法もいろんなサイトで紹介されているのでUTF-8化を試してみた。(参考:http://www.kawaz.jp/pukiwiki/?PHP%2FEthna%2FUTF-8%B2%BD)手順は3ステップ。 $ ethna add-project で作成されたテンプレートや…

ethnaを使ってるとPHPのエラーメッセージが出ないことがある

PHP

ethnaを勉強中。まだなかなか思い通りにいかない。エラーメッセージを出して止まってくれればまだいいのだけど、真っ白な画面で止まってしまうことが多くてエラーの原因究明に手間取ってしまう。ethnaの設定でなんとかできればそれが一番なのだが、よく分か…

XAMPPでpearコマンドが使えない

PHP

VistaにXAMPP1.6.3aをインストール。pearコマンドを使うと「CLIは動作を停止しました。問題が発生したため、プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はwindowsから通知されます。」というエラーが出る。XAMPPの代わ…