Zend Framework

PHP5.3 で非推奨になった機能や関数をざっくりあぶり出すワンライナー(Zend Framework 版)

via http://d.hatena.ne.jp/shimooka/20100727/1280198801 Zend Framework 1.10.4 でやってみた。 $ find . -iname \*.php -print0 | xargs -0 grep -wE 'define_syslog_variables|register_globals|register_long_arrays|safe_mode|magic_quotes_gpc|magic_…

Zend Framework2.0 を試してみる(3)

Zend Framework2.0 を試してみる - Memo Zend Framework2.0 を試してみる(2) - Memo の続き。 Create a Model and Database Table チュートリアルではデータベースアダプターに PDO_Sqite を使うようだ。 まずは設定ファイルにデータベース接続の設定を作る…

Zend Framework2.0 を試してみる(2)

昨日の続き。 とりあえずチュートリアルにある Quickstart をやってみる。 Create Your Project まずはプロジェクトを作る。 とりあえず、clone した所に作ってみる。 $ bin/zf.php create project quickstart Creating project at /var/php/zf2/zf/quicksta…

Zend Framework2.0 を試してみる

Zend Framework2.0 の現在のステータスは 2.0.0dev1 と思いっきり開発中なので地雷満載と思われるので、まだお勧めしない。 zf2 の最新リポジトリは Git にある(Github にもあるがこれはミラー)。 とりあえず clone してみる。 $ git clone git://git.zendfr…

ezPublish と Zend Framework を組み合わせてみる

ezPublish のエクステンションを作れば作り込みが出来るのが分かった。 データベースのアクセスも普通に出来るようだが、やっぱり使いなれたフレームワークを使いたい。 id:sotarok さんが Ethna と WordPress を組み合わせたり、@shin1x1 さんが CakePHP と…

Zend Framework 勉強会#2

東京で株式会社 paperboy&co. 様主催の Zend Framework 勉強会があったので、関西より参加してきた。 発表するチャンスを得たので喋ってきた。Zend Framework Study@Tokyo #2View more presentations from heavenshell. 特にメッセージ周りの話を中心に話し…

Zend_Validate.php が trunk に仲間入り

忙しい日々が続いております。 そんな中嬉しい事があった。 今日 id:satoruyoshida さんが 自分が翻訳した Zend_Validate.php をコミットして頂けたよう。 http://framework.zend.com/code/browse/Standard_Library/standard/trunk/resources/languages/ja/Z…

Zend_Validate の日本語メッセージ

Zend Framework 1.10 から resources/languages というディレクトリが出来る。 要は言語パックが入る。 1.9x 時代は言語パックがなかったのでそれぞれで翻訳ファイルを持つ必要があったけど、1.10 以降はデフォルトで用意される。 現状日本語の言語パックは…

iconv_strlen() の例外

テストコードを実行したら、以下のような例外が発生した。 iconv_strlen(): Wrong charset, conversion from `'UTF-8'' to `UCS-4LE' is not allowed該当箇所を見ると、Zend_Validate_StringLength の isValid() 内の iconv_strlen() で出てた。 調べてみる…

Zend_Validate の日本語の翻訳ファイル

Zend_Validate はデフォルト英語のメッセージが表示される。 バリデーションには Zend_Fileter_Input を使っていて、メッセージを自由に設定できる。 array( new Zend_Validate_EmailAddress(), new Zend_Validate_StringLength(1, 255), 'message' => arra…

Zend_Validate のエラーメッセージの翻訳での不具合

Zend_Validate のメッセージの翻訳アダプターに ini を使おうとしたら Zend_Translate で落っこちた。 原因は Zend_Translate_Adapter_Ini が ini ファイルをパースした際に parse_ini_file() が禁止している文字があるから。 Zend Framework1.9.4 では Zend…

Zend_Validate_Db_NoRecordExists は 1.10 で後方互換がなくなる その3

前回の続き。 更に進展があったよう。メンテナよりコメント貰った。 No, this is no BC break. With 1.10 both notations are accepted. So you can use Zend_Config as with 1.10, which is now not possible. It's a new feature, no BC break as the old …

Zend_Validate_Db_NoRecordExists は 1.10 で後方互換がなくなる

昨日報告した奴にたいしてコメントをもらった。 Are you working from trunk? Thomas recently made a change to the validator which means the DB validators now work with an options array, instead of a bunch of parameters. The notation is correct…

Zend_Validate_Db_NoRecordExists で特定の条件で除外する

データベース上に既にデータが登録されているかを Zend_Validate_Db_NoRecordExists を使えば、他のバリデーションと一緒に使用できるので凄く便利。 これが新規登録とかだと、何も考えずに入力された値チェックするように書けば良い。Users テーブルの name…

ユニットテストの際は DB のコネクションを明示的に切断する

メモメモ全てのユニットテストを実行したら、 Zend_Db_Adapter_Exception: SQLSTATE[08004] [1040] Too many connectionsとかって怒られた。 通常は、データベースとの接続を閉じる必要はありません。 リクエストの処理が終了した時点で、PHP が自動的にリソ…

Zend_Validate_Db_NoRecordExists を使ってみた

前回の続き。 Zend_Filter_Input と組み合わせて使ってみた。 array( new Gene_Validate_NotEmpty(), new Zend_Validate_Regex('/^[0-9A-Za-z+\_]*$/ '), new Zend_Validate_Db_NoRecordExists('users', 'name', null, $adapter), 'messages' => array( 0 =…

Zend_Validate_Db_RecordExists

よくユーザ登録とかそういう機能を実装してると、既に登録済みかチェックして、登録済みならエラーというような処理ってよくあると思う。 そんな機能をバリデータでやりたいなーと思って、大分前に作ったあった。 前に作った物だから、PHPSpec でテストコー…

Zend_Application を使う(3)

Zend_Application での設定ファイルの読み込み方法が id:noopable さんの所で紹介されている。 クラスリソースで追加読み込みするBootstrapクラス内で_initConfig()みたいなメソッドを定義しておくことで、自由に追加のオプションをロードできると思います。…

Zend_Application を使う(2)

ブートストラップ周りをいじりだしてようやく 1.7x と同じ物が動くようになった。 設定ファイルのお話 サンプルやドキュメントでは application.ini にゴリゴリ view や session の設定を書かれてるのが多い。 デフォルトのブートストラップを使う分には良い…

Zend_Application を使う

Zend_Application は DI コンテナで高度に抽象化された (ry オフィシャルのドキュメントでは設定ファイルに依存するような値を書いて、 Zend_Application を生成する際に設定ファイルを渡してやってる。 ディレクトリ構成は以下のような感じにしたい。 app |…

Zend Framework1.8 で作りかけのアプリを動かしてみた

1.7x で作りかけている Phwittr を動かしてみた。 registerNamespace('Gene_') ->setFallbackAutoloader(false) ->suppressNotFoundWarnings(false); View を生成する箇所でキャッシュを使っていて、そこでエラーになった。 Fatal error: method_exis…

Zend Framework1.8 がリリースされた

とりあえずダウンロードしてインストールして、自分のテストコードを走らせたら… $ specrunner -c -R Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead …

Zend Framework 勉強会@Tokyo に行ってきた

Zend Framework 使いにとっては記念すべき 1 回目の勉強会が開催された。 ZendFramework勉強会@Tokyo - events.php.gr.jp id:wozozo にしゃべれと言われたので、 Phwittr の事なんぞを。 Zend Framework Study@Tokyo vol1View more presentations from heave…

Zend Framework 勉強会!

キタ━━━━(゚∀゚)━━━━!! ZendFrameworkの勉強会を行います。20人ほどの会場で、カジュアルな感じの勉強会になると思います勉強会終了後には参加者同士で交流を深めるために懇親会を行います。 参加される方は申込み時に合わせて参加表明をお願いします。 ■概要 日…

Zend_Paginator について

Zend Framework1.5x 以前では ページングは自前で実装するか、 PEAR::Pager を使用すると実現したが*1、1.6 から Zend_Paginator でページングを実現するコンポーネントが追加された。 Zend_Paginator には Adapter がいくつかあって、Zend_Paginator_Adapte…

Zend_Locale のロケール判定

風邪を引いてしんどいので現象だけ。 toString()); これを Mac OS 10.5 Apache2.2.11 PHP5.2.9 Safari3.2 で実行したら、ja_JP と表示された。 Firefox3.0.7 で実行したら、 ja と表示される。 ロケールごとに /locales/ja_JP/index.ini みたいに Zend_Trans…

Zend_Registry について

via noopな日々 確かに、global変数にほいほい入れてしまうよりはマシなんだけど。そうは言っても、≒グローバルなZend_Registryを多用するのは避けた方がいいと思う。Zend_Registryが絶対ダメというわけじゃなくて、適材適所ってことで。 Zend_Registryの多…

View ディレクトリの場所を変更する方法

Zend Framework でモジューラーディレクトリ構造を使用している場合、View のディレクトリはデフォルトでは各モジュールごとに配置される。 /app `--modules |-- index | |-- controllers | |-- models | `-- views `-- admin |-- controllers |-- models `-…

ログ出力時と同時にメールで通知する方法

保守とかしているとログは非常に重要。 ログインできないとか、エラーが出たんだけどとかユーザーからの問い合わせで調査する事が良くある。 それとは別にクリティカルなエラーとかが出た場合はログを出力しつつ、通知メールを送信したい場合がある。 そうい…

Zend_Controller_Action から異なるテンプレートを呼び出す方法

via ブログが続かないわけ 上記のように便利な自動レンダリングだが、処理結果に応じて、別のテンプレート を出力したいこともあるだろう。 いくつか方法があるので、今回はそれを紹介する。 [PHP]Zend で自動レンダリングモードがオンの場合の、View スクリ…