php
デザインの都合上Zend_Captchaの画像部分と入力部分を分離してrender()したいが、なんかどうにもならない予感がするのでこんな風にしてみた form class Hoge_Form extends Zend_Form{ public function init(){ $this->captcha = new Zend_Form_Element_Captc…
何回やっても何回やってもPHPUnitがインストールできなーい(ryトラブルシューティングsymfony/YAMLがない、と言われるどうやっても "pear install symfony/YAMLが失敗する場合がある。つぎのように直接tarファイルをインストールする...>pear install http:/…
アプリケーション本体とは別に「このサイトについて」とか「ご利用条件」とかのページを作る場合の備忘録 "guide/:page"みたいなURLに対して controller=>static-content,action=>indexみたいなルートを割り当てる。 "page"パラメータに対応するテンプレート…
allegro.arco -- ActiveRecordサポート Active Record Component Objectsallegro.dolce -- DomainModelサポート DOmain model Logic Component Environment…とか。
結構整理されてきた allegro allegro.acl AccessControl AclRole AclResource AclRule allegro.auth AuthProviderFactory AuthProvider AuthStorage Identity allegro.cache Cache allegro.config Configuration ConfigManager allegro.data Entity Tuple Ce…
パッケージ構成の続き。 allegro acl AccessControl AclRole AclResource AclRule auth AuthProviderFactory AuthProvider AuthStorage Identity cache Cache config Config ConfigManager data Context ContextManager Query QueryResult RowSet Command Pa…
前のロジックは「全ての関係式は2項式」って前提で書いたけど、一般的な数式のBNFみたいに「ANDが連続するならterm,ORが連続するならexpression」って思えば各ノードに2個以上の条件式を追加することができる。 括弧を単体の構造で表すのは面倒(beginParenth…
前に書いたやつは中置式の構造を作ってLL解析させてたけど、なんか無駄っぽい気がするので最初から式ツリーを構築してその上で検索式を文字列化するようにしてみた。 基本、条件を後から追加する場合前の式の右に位置するように追加して行き、OR直後にANDが…
$classInfo = new ReflectionClass("Meta2User"); $doc = $classInfo->getDocComment(); $doc = mb_ereg_replace("(\*|\/|\r|\n)", "", $doc); $anno = array(); mb_ereg_search_init($doc); $pos= mb_ereg_search_pos("@\w"); if($pos ===false){ echo "no …
criteriaはやめてfilterにする。 class Expression{ var $text; var $parameters; public function __construct($text,$parameter = array()){ $this->text = $text; $this->parameters = $parameters; } } class ExpressionFactory{ var $ctx; public funct…
名前付けとか散々悩んで、とりあえず「まあこれでいいか」レベルにまで考えた。 allegro\data 主にデータ層。Repositoryは本来models\Repositoryなどとするべきなのだろうが、そうするとmodels以下には他に何もない状態になるしどうせRepositoryにはCRUD処理…
ゲーム用フレームワークにはあるみたいだがPHP+MVCなフレームワークにはないのでとりあえず仮称。文句が来たら考える。多分音楽用語で固める。 今のところデータ部分(モデル - インフラあたり)の仕様考え中 /* * allegro * allegro\data * allegro\data\Data…
PHP5.3をApacheに組み込む場合、やる事は基本的に5.2と同じなのであるが、既に5.2をインストールしている環境に5.3をインストールして入れ替える場合ちょっと落とし穴がある。phpをコマンドラインで使う場合とかpearコマンドを使う場合に、いちいちPATH設定…
構成はこんな感じ client --- apache reverse proxy --- apache(xoops)apache はともに2.2。 reverse proxy 使っているのが悪いのか、何なのか。ともかく何ヶ月かに1回しかエラーが発生せず、且つ「SQLエラーが発生しました。行782」で終わるもんだから一体…
いろいろな場面でツリー構造が必要になるので(たとえばACL機能、ユーザーファイル保存機能etc...)ツリー構造クラスを作った。 class TreeNode{ var $parent; var $children = array(); var $name; var $object; public function __construct($name = ""){ $t…
propel使うと encodingを「空」にしないと"SET NAMES"やっちゃってエラーになる PDO_MSSQLはtransaction関数実装してない。にも拘らずupdateやdeleteで勝手にトランザクション始めようとするからこける。 じゃあODBCで、と思うとこっちは対応してない。 doct…
1.AppModelを上書してread()を置き換える。 function read($fields = null,$id = null){ $result = $this->find("first",array("conditions" =>$id) ); return $result; }2.Model#primaryKeyをfalseにしておく。 3.$form->create("Model")はやめてこんな感じ…
virtual host "flp"を作った。 document root にapp/webrootを指定した。 config/core.php作った(core.php.defaultから) databaseを作り、テーブルを作った アカウント作った ログインしてみた だが /にリダイレクトしたが「ログインしてない」って言われた …
simpleXml使用。ベースクラスの静的関数でタイプ(rss1,rss2,atom)を判定し、然るべきparserを使って統一した形式のオブジェクトにする。 class RssParser{ static function getInstance($path){ $root = simplexml_load_file($path); if( $root->getName() =…
やっつけ アーカイブ(lzh)http://tosa-ds.com/devel/php/application.lzh
cakephpにしろsymfony1.2にしろ、なんで要素別selectタグにすんの?死ぬの? 入力は面倒くさいは2/30見たいな入力は結局エラーになるわいいことないんだけど。
「モデルはDAOじゃない!」と訴えているが実質的にDAO 結構なタイプのフレームワークは「エンティティモデル」は考慮しない 「レコードモデル」と「リストモデル」が同じクラス コントローラーがビューにモデルから取り出したデータをセットとか…
結構みなさん苦労されているようで。ていうかwindows+lighttpd+fastcgi+phpの組み合わせに関する情報が殆どない。海外サイトで喧々諤々のやり取りがあったので参考にしたらうまくいった。 参考URL http://forum.lighttpd.net/topic/1164まず、lightTPDのwind…
symfony サイズがでかい。propelは俺にはわかりやすい。generate_crudは使いやすい。module/actionな構成も言い。slotも便利。動作が重い CakePHP コンパクト。bakeも使いやすい。symfonyより軽い。Modelもそこそこ Zend Framework これから試す。自動生成機…
少なくともPHP5.2.6において、自前のメソッドにlistと言う名前をつけたとき"( ! ) Parse error: syntax error, unexpected T_LIST, expecting T_STRING in ..."と言われてしまう。従ってCakePHP,CodeIgniterともにアクション名「list」が使えない事になる。 …
もとのviewだけでやるパターンだとcontrollerが今から作るページに乗せるデータを全て知っていなければならない。これはページのフラグメントを作ってページ本体に組み込むのに都合が悪い。 だからこんな事になった。 helperに"include_component()"を追加(c…
$this->input->xss_clean($str)がタグ文字削ったり色々するらしいんだが…こういうの <textarea>こんな入力は危険です。 <script>alert(1)</script> </textarea>が保存できない。このままメール投げる事が出来ない。レポートバッチが改めてデコードしなくてはならない。もー。
解説本がダメダメ。せっかくのMVCのMを単なるデータアクセスに貶めたり。 複合Viewを作るのが面倒くさい。コントローラーが全部のビューを知ってないとダメ。 $thisが何者か判別しづらい。モデルの中でもコントローラーの中でも。お前は一体何者?
どうにもならないphp仕様をどうにかして使える状態にしよう、っていう試みだと思った。
モジュール名sampleとして modules/sample/index.php