
先日、新しいZF2を試しました。 私はたくさんの資料を読み直し、彼らのチュートリアルで簡単な小さなサイトを集めました。 そして、アクションとビューを作成することになったとき、私の喜びの限界には限界がありませんでした。 ビューへの変数の受け渡しはreturnを介して行われ、ローカルになります($ this-> paramなし)。 この改善のために、ベータ版であるにもかかわらず、ZF2に切り替える準備ができました。
カットの下では、コントローラーとビューテンプレートに関するイノベーション、パフォーマンス、および変更について少し説明します。
誰もが話しているZF2の革新:
- 改善されたパフォーマンス
- より柔軟なアプローチ、標準化と統一の改善が使用されます
- 再設計されたプラグインモデル
- namespace'ovの遍在的な使用
- コンポーネント内でrequire_onceを呼び出す必要はありません(オートローダーを介したすべて)
- Dependency InjectionとEventManagerの 2つの新しい基本コンポーネント(DIのことは間違いなくクールですが、メソッドの変数の名前でオブジェクトにパラメーターを設定する魔法で怖がります。通常、この魔法はパフォーマンスに影響します。EventManagerは便利なものです。データは現在最高レベルです)
開発者は、まともな
ZendSkeletonApplicationを試し、作成しました。これは、ZF2 MVCレイヤーとシステムモジュールを使用するシンプルなアプリケーションスケルトンです。 スケルトンは、Twitterの無料のcssおよびhtml
ツールを使用します。 1つのページから素晴らしいweb2.0 Webサイトを取得します。これは簡単にフルサイトに展開できます。
ZF2のパフォーマンスについて
- 新しいオートローダーにより、クラスマップはZF1と比較して最大85%パフォーマンスが向上します
- 最大40%のnamespace'ovの使用(最初はPHP5.3のマイナーなパンであり、本質的に純粋に美的だと思いました)
- プラグイン使用時の呼び出し回数を減らしました(13回ではなく7回の呼び出し、ダブルアクセラレーションについて話すことができると思います)
- M VCリファクタリング(明確なパフォーマンスの向上を確実に提供する必要があります。使いやすさが一桁向上しました)。
評価するのは難しいですが、生産性が少なくとも2倍になると安全に想定できます。
コントローラーとビューの待望の改善
ついにやった! アクションコントローラーでは、変数を渡すことは魔法でなくなりました。 い$ this-> view-> ...の代わりに、アクションはビューのデータを含む連想配列を返すはずです。 比較のために例を挙げます。
それはZF1でした:パブリック 関数 indexAction ( )
{
$ this- > view- > albums = $ this- > albumTable- > fetchAll ( ) ;
$ this- > view- > user = 123 ;
$ this-> view-> text = '任意の<html>それはビューで自動的にエスケープされません' ;
}
ZF2になりました:パブリック 関数 indexAction ( )
{
配列を 返す (
'アルバム' => $ this- > albumTable- > fetchAll ( ) 、
'user' => 123 、
'text' => '任意の<html>ビューで自動的にエスケープされます' 、
) ;
}
ビューテンプレートもより良く変換されました。 変数はローカルになり(名前で利用可能)、ヘルパーは$ this-> helper()で利用可能になりました。 すべての文字列変数は、XSSを回避するために自動的にエスケープされます。 配列とオブジェクトは変更されないため、それらから値を取得するときは、$ this-> escape();を通過する必要があります。
コードの読み書きがより便利になりました。
それはZF1でした:<?php
$ this- > headTitle ( 'マイアルバム' ) ;
?>
<?php
foreach ( $ this- > album as as album ) {
//いくつかのコード
}
?>
<?php
echo $ this- > escape ( $ this- > text ) ;
?>
ZF2になりました:<?php
//ヘルパーは$ thisからも利用できます
$ this- > headTitle ( 'マイアルバム' ) ;
?>
<?php
//上の例のアクションのアルバムは、ローカル変数を介して利用可能になりました
foreach ( $ albums as $ album ) {
//いくつかのコード
}
?>
<?php
//エスケープを呼び出す必要はありません。すべてのスカラー値は自動的にエスケープされます
//配列とオブジェクトはスキップされ、そのまま表示されます
エコー $テキスト ;
?>
私の意見では、これはZF2で最も「おいしい」改善です。
試し方と読み方
Zend Framework 2はベータ版です。 安定版のリリースは2012年の春になると見ましたが、今は自分の責任で使ってください。
必ず最新のPHP 5.3.8をインストールしてください。 PHP 5.3.2では、Strict Standartエラーが発生しました。
Windowsでは、
VC9用にコンパイルされた新しい
Apache 2.4をインストールする
必要がありました 。
ここから PHP x86 TS VC9を
、ここから拡張機能apcおよびmongo
をダウンロードし、公式Webサイトでphp_xdebug.dllを選択します。フォームでphpinfoを
送信します。
まず、サイトtokarchuk.ruでロシア語の
「Zend Framework 2.学習用資料」の良い記事を読んでください。
その後、すばらしい
Zend Framework 2入門チュートリアル(PDF、en)を使用して、ZF2を1、2時間でインストールし、テストモジュール「アルバム」を作成します。