2010-01-01から1年間の記事一覧
レイヤー内のプロパティを一挙に設定をします。 locked と hidden が設定されていない場合は設定できますが、 逆はできません。 illustrator CS4 for windows で動作を確認しています。 ナビ子記法を使用しています。 2分でわかる uupaa.js の Debug Navigat…
↓作った理由 バッチ処理から、「サブディレクトリも処理」にチェックを入れて、個別に JavaScript を呼ぶアクションを呼んでもいいけれど、それだと、JavaScript のコードの場所が決め打ちになってしまうので、場所をフリーにするには、自前でファイル一覧を…
CakePHP で Ajax のテスト(CakeTestCase)を作ります。 前提 PHP : 5.3.2 CakePHP : 5.3.2 CakeTestCase を拡張したクラスをテストの親クラスとして使用しています。 「CakePHP1.3 CakeTestCase の拡張を読み込む bootstrap 的なものをつくる」 http://d.hate…
CakePHP 1.3.2 以下を読んで。(twitter記法も試してみる) @hiromi2424: @ecworks_masap ビューキャッシュに関しては、確かに頭の痛い問題なんだよねー。いつか手をつけるつもりー:) とキャプテンマークが言ってました。(IRCでビューキャッシュをファイル以…
Project hasMany State なモデルにて、 新規に ProjectsController::add をした時、State の初期値を持たせたい。 model::saveAll を使う バリデーションとトランザクションを同時に行うことが出来ます。 State を保存する際、「project_id」が必要になりま…
CakePHP1.3 コントローラーのテスト(testAction なし バージョン) http://d.hatena.ne.jp/zainin/20100615/1276696300 の続きを書こうとして、ふと「2.0-phpunit」ブランチが気になって、コミットを追った。 その結果、testAction ありバージョンの意味が分…
コントローラーのテストを testAction メソッドを使わず書いた場合の例です。 前提 & 環境 テストを実行するのは、コンソール「cake testsuite app all」です。 作業環境 PHP : 5.3.2 CakePHP : 1.3.2 意識する対象 PHP5.2 以上の動作を意識します。 PHP5.2 …
テストケースを作成する際に、拡張元となる CakeTestCase を拡張します。 CakeTestCase を拡張した独自のクラスを作成することで、 共通の処理を追加することができます。 しかし、残念ながら、 CakeTestCase クラスの読み込みには、 app_controller.php の…
コントローラーの components プロパティに沿って、コンポーネントが読み込まれますが、コンポーネントの 「startup」「beforeRender」「beforeRedirect」「shutdown」メソッドを実行する際、各コンポーネントの enabled プロパティがチェック($component->e…
Auth コンポーネントの使用時に、 [/users/add] や [/users/edit/] で、パスワードを入力させて、バリデーションをしたいとき、 アクションの段階では、既にパスワードがハッシュ化されているため、 バリデーションがやりづらい問題を回避します。 結論は、 …
http://code.google.com/hosting/ 風の「/p/プロジェクト名」でアクセスできるルーティングを作ります。 「p」は固定の接頭語です。なくともいいけど、その場合は、予め使用する単語を予約する必要があります。 「プロジェクト名」:プロジェクトを識別する文…
前提 CakePHP 1.2.7 を使用。 cake testsuite app all のテストを対象 Core や App に手を加えたくない。 Core に手を入れると、アップデート時にマージを忘れる。 app_controller.php にテストの為のコードを書くと、毎回のオーバーヘッドが気になる。(テス…
公式アナウンス CakePHP 1.2.7 released http://bakery.cakephp.org/articles/view/cakephp-1-2-7-released Since the release of CakePHP 1.2.6 in late January 2010, the development team have closed 36 tickets in 64 commits. This includes a recent…
kmyaccでWebkitのCSSパーサをPHPから使いたい、と思って色々作業。 github http://github.com/zaininnari/KMyacc_lex_PHP 先駆者 Stagehand_PHP_Parser - /src/Stagehand/PHP - リポジトリ - Piece Framework http://redmine.piece-framework.com/projects/s…
PEGパーサコンビネータ ソースコード http://openpear.org/package/PEG ドキュメント http://nimpad.jp/phppeg/ 参考 CSS風の文法のパーサを作るチュートリアル 前回までは、「uupaa-js」( http://code.google.com/p/uupaa-js/ )の正規表現を使ったパーサで…
PHP 5.3.2では、 ReflectionMethod::setAccessible が実装され、 プライベートメソッドのテストが簡単になりました。これを使いたいために、アップデートしました。 dotdeb.org PHP 5.3.2 is available too! http://www.dotdeb.org/2010/03/08/php-5-3-2-is-…
参考:各ブラウザのCSSパーサの実装方法 - katata_hの日記 PHPで扱えるkmyacc(yacc) 本家:kmyacc - 多言語対応LALRパーサー生成系 yaccと互換性のあるパーサージェネレータ 処理と出力が分離されていて、他の言語への対応が可能 kmyacc に各種パッチを当てま…
前回作成したものだと、適当でない文字列のエラーを出す(●●行目のココが怪しいよ風にしたい)のが難しいため、やっぱりPEGに逆戻りしました。 PHP PEGパーサコンビネータ セレクタとブロック部分(div {color:red})は、「{」「:」「;」「}」などで緩くに分割し…
mobilelintを別のレンタルサーバで動かそうとしてハマったメモ。参考 [FreeBSD-users-jp 92072] Re: PHP と libxml2 の関係 」「&」が削除される if(version_compare(LIBXML_DOTTED_VERSION, '2.7.4', '<')) { echo "versi…
携帯の絵文字について調べている際に、見つけたエントリーのまとめです。htmlspecialchars()/htmlentities()を使用する際には、 PHP 5.2.12以降、PHP 5.3.2以降を使うこと。 以前のバージョンでは、 htmlspecialchars(ENT_QUOTES)を使用しても、XSSの可能性…
構成の見直しと見つかったバグ等を修正して、githubに上げました。 http://github.com/zaininnari/CssParser BTSはこちらに http://zaininnari.lighthouseapp.com/projects/44626-mobilelint 直した所 返り値の簡略化 margin*,border*などのチェック抜けを修…
正規表現で書き直しました。 追記 list*、background*、border* に値が任意に順序を指定できますが、実装が抜けています。 参考 uupaa-js - Project Hosting on Google Code 高速でコンパクト, 未来指向の JavaScript ライブラリ こちらのcssパーサを移植し…
前回、openpear/PEGパーサコンビネータを使った簡易CSSパーサの続きです。前回作成したのものを改良して、実践的に使えるものを目指します。当面の目標は、 Softbank携帯のCSSをパースできるところまで、進めたいと思います。 PEGパーサコンビネータ ソース…
PEGパーサコンビネータ ソースコード http://openpear.org/package/PEG ドキュメント http://nimpad.jp/phppeg/ 参考 CSS風の文法のパーサを作るチュートリアル を元になんちゃてCSSパーサを作ってみました。 参考元と変わらないところが多いですが、 正規表…
サンプルコード class Mobilelint { //略 static function isSoftbankTableTagNestOverflow(SimpleXMLElement $xml, $content) { $result = $xml->xpath('//table/descendant::table/descendant::table/descendant::table/descendant::table/descendant::tab…
元ファイル XHTMLMobile Profile1.2(V2.3 2008-03-31) XHTMLModularization 1.1(W3C Recommendation 8 October 2008) SoftBank Mobile Creation XHTML編 v.2.0.2 2009/11/26 注意点 SoftBank Mobile Creation XHTML編 v.2.0.2 2009/11/26 には確認した限りDT…
http://mobile.zay.jp/ 方式変更 Document Type Definition(文書型定義、DTD)による文書構造も解析したくなり、全面見直ししました。 構成は、 DTDパーサー&バリデート PHP PEAR XML_DTD XHTML Basic 1.1(W3C Recommendation 29 July 2008)の定義を組み込…
環境 PHP Version 5.3.0 ■参考 [PHP] 無名関数への変数の引継ぎ http://idocsq.net/page/95 無名関数(クロージャー)でファイル一覧取得