
カットの下では、コントローラーとビューテンプレートに関するイノベーション、パフォーマンス、および変更について少し説明します。
誰もが話しているZF2の革新:
- 改善されたパフォーマンス
- より柔軟なアプローチ、標準化と統一の改善が使用されます
- 再設計されたプラグインモデル
- namespace'ovの遍在的な使用
- コンポーネント内でrequire_onceを呼び出す必要はありません(オートローダーを介したすべて)
- Dependency InjectionとEventManagerの 2つの新しい基本コンポーネント(DIのことは間違いなくクールですが、メソッドの変数の名前でオブジェクトにパラメーターを設定する魔法で怖がります。通常、この魔法はパフォーマンスに影響します。EventManagerは便利なものです。データは現在最高レベルです)
ZF2のパフォーマンスについて
- 新しいオートローダーにより、クラスマップはZF1と比較して最大85%パフォーマンスが向上します
- 最大40%のnamespace'ovの使用(最初はPHP5.3のマイナーなパンであり、本質的に純粋に美的だと思いました)
- プラグイン使用時の呼び出し回数を減らしました(13回ではなく7回の呼び出し、ダブルアクセラレーションについて話すことができると思います)
- M VCリファクタリング(明確なパフォーマンスの向上を確実に提供する必要があります。使いやすさが一桁向上しました)。
コントローラーとビューの待望の改善
ついにやった! アクションコントローラーでは、変数を渡すことは魔法でなくなりました。 い$ 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時間でインストールし、テストモジュール「アルバム」を作成します。