プロフィール
DTIブログ!

Search

Zend Framework 1.5.0 Preview Release

今日記事を読んでいたら、
「Zend Framework 1.5.0 Preview Release」
がリリースされているらしい。

Ajaxが強化されたみたいなので、使ってみようと思う。

記事より
今回リリースされたバージョンでは、主にAjaxへの対応が強化されており、Ajaxをサポートしたフォームコンポーネントが追加されたほか、Ajaxリクエストの操作を容易に行えるようにするヘルパーも追加された。また、Ajax以外の点では、テキスト全文検索エンジン「Lucene」への対応が強化されているほか、TechnoratiやSlideShare、Remember the Milkのウェブサービスへの対応も新たに行われた。



今回の新しい機能みたいなやつ
・New Zend_Form component with support for AJAX-enabled form elements
・New action and view helpers for automating and facilitating AJAX requests and alternate response formats
・Infocard, OpenID, and LDAP authentication adapters
・Support for complex Lucene searches, including fuzzy, date-range, and wildcard queries
・Support for Lucene 2.1 index file format
・Partial, Placeholder, Action, and Header view helpers for advanced view composition and rendering
・New Zend_Layout component for automating and facilitating site layouts
・UTF-8 support for PDF documents
・New Technorati, SlideShare, and Remember the Milk web services


参照記事
WebアプリフレームワークZend Framework 1.5.0 PR

Zend Framework 関連リンク
Zend Framework - Download
Zend Framework - プログラマ向けリファレンスガイド
ZEND DEVELOPER ZONE
Zend Framework Issue Tracker

Zend Framework UML化 計画 その1

Zend Frameworkのクラス群をUMLのクラス図に書こうと
「Zend Framework UML化 計画」をはじめました。

とりあえず、記述するルールとして以下の項目を挙げて起きます。

1、Zendパッケージをrootとして構成
2、パッケージ名は、DbやAclのように記述し、Zend_Dbのようには記述しない
3、クラス名は、Zendの記述規則の通りにZend_Dbのように記述する
4、パッケージ内にそのパッケージから見えるクラス図の編集項目を作る
5、パッケージ外のクラス、下位のパッケージのクラス等を参照する倍には、属性・操作を削除して他のパッケージであることを明示する
6、基本的な型などは、phpパッケージとして他に作成してまとめておく

とりあえず、上記規則を利用して、JUDE Communityを利用して書いています。
結構書くことが多くて、Zend_Dbを記述するだけで1週間くらいかかりそうですが、
自分で利用するのとソースコードリーディングも兼ねていますので、地道に書きたいと思います。

今日は現在までのJUDEのプロジェクト画面だけ公開しようと思います。

Zend Frameworkのクラス図の公開はライセンス違反にならないのかを、調査してから行いたいと思います。

これが完成すれば、UML上でZend Frameworkを利用したWebApplicationを表現できるので便利になることは間違いなし。

図を見たい方は書きをクリックしてください。

続きを読む »

Zend Framework UML図化?

Zend Frameworkをクラス図としてみたくなった。
てか、見れたら便利っぽいので作成することにした。

作成環境は、とりあえず無償で使えるので
JUDE Community
にすることにする。

簡単にできるといいなぁーと思ったので、調べてみたけど
JUDEのXML入出力機能は、独自の拡張を行っているために、
OMGの標準XMI形式のデータをうまく取り込めないみたいだ。

PHPのソースコードからXMIを出力できるツールは
あるようだが、JUDEが対応していないので
地道に手作業で行うことにしました。

1日1パッケージくらいを目標にして進めたいと思います。
とりあえず、自分がよく使うZend_Dbを作成予定

Zend_Service_Amazon

Zend_Service_Amazonを使ったのだが、
AmazonのAPIと同様に10個までしか取得できないらしい。

ただ、それは知っているからいいのだが、
Amazonには、ページという概念があって10個以上
の場合には、page1とかpage2とかあったと思うのだが、
公式マニュアルには、そのことは載っていない。

自分のZend_Service_Amazonのソースコードとにらめっこして、
どうにか使用方法を探しているところです。

誰か知っていたら、教えて欲しい・・・。

31.3. Zend_Service_Amazon


最悪の場合には、自分で弄るか
自分で、作った方がよいのだろうか

続きを読む »

Zend_Auth_Adapter_DbTable

PostgreSQLを利用して、ユーザ認証を行おうとしたら、問題が発生した。

利用コンポーネント
Zend_Auth_Adapter_DbTable
Zend_Db

エラー発生場所
Zend_Auth_Adapter_Exception

エラーメッセージ
The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.


何が原因なのか探るために、ソースを辿っていったら、以下のことがわかった。
発行SQL何に、「"」ダブルクォーテーションが存在した。
SELECT * FROM "Table_Name";

PostgreSQLはなぜか、「"」があると正しく動作しない

今回は、
Zend_Auth_Adapter_DbTableauthenticate()の一行を修正するを行った。

SQL文は以下の一文で生成されている
$resultIdentities = $this->_zendDb->fetchAll($dbSelect->__toString());

この文章を以下のようにして、とりあえず動作だけするように変更
$resultIdentities = $this->_zendDb->fetchAll(str_replace('"', '', $dbSelect->__toString()));

この問題は、たぶんPostgreSQLだけで発生する問題だろうから、PostgreSQLの場合だけだと思う。

ただ、他のZend_Db::factoryで生成したオブジェクトでREPLACEやdelete、updateも同様に動かなかったので、問題はもっと下層にあるのだろう。

関連ページ
PHPリファレンス
str_replace関数
Zend Frameworkリファレンス
3.2. データベースのテーブルを用いた認証
10.1. Zend_Db_Adapter

続きを読む »

« | 2017/10 | »
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -