Zendでは信頼しています

画像 Zend ltd製品についての印象を共有したいと思います。 彼らがPHP会社であるだけでなく、関連製品のメーカーでもあることは非常に喜ばしいことです。 私はかつてのように、そしてたぶんたくさんで、Zend Studio 5.5の一部でした。彼女は彼女に必要なものすべてにうまく対処しましたが、「フレンドリーなチーム」にもかかわらず、 。 原則として、コードの折りたたみと構文の強調表示のみが必要でした。たとえば、foreach、DocBlockから取得した関数/引数などの情報、および便利な作成など、あらゆる種類のテンプレートが非常に役立ちました。 SVNはバックアップとして使用され、IDEから対話しませんでしたが、最近Zend Studion 7.0に切り替えました。これは毎日ますます幸せになり、多くのマイナスがあり、プロジェクトの分析、異常なホットキーなどのためにハングすることがあります。しかし、それはすべてカスタマイズ可能です。



画像 すべての問題に対する包括的なソリューションを必要としない場合、新しい開発方法を使用する場合は、お好みのエディターを使用し、Zend Studio 7.0をインストールして、その結果を時々試してみてください。実を結ぶでしょう。



マイナス面の1つは、非ワイドスクリーンモニターで低解像度で作業することはあまり便利ではないことですが、この問題はアクティブパネルを最大化することで解決します(Ctrl + M)。 次に遭遇する可能性のある問題はウィザードです。最初はどのウィザードが何に必要なのか明確ではないかもしれませんが、それらに対処すれば、開発プロセスをスピードアップでき、同じテンプレートが同じ目的に非常に役立ちます。



さて、私が言いたいのは、IDEとサーバー(PHP + Webサーバー+データベース)の真の統合です。 設定を修正するために設定を編集する必要はありません。もちろん、サードパーティの拡張機能を手動で接続する必要がありますが、ほとんどの基本的な操作はWebインターフェースから行うと便利です。 そのため、Zend Serverとともに、時々再生できるZend Controllerが配置されます。



Zend ServerとZend Studioを統合するには、最初にServerを起動し、次にスタジオとそのポップアップウィンドウで統合を受け入れ、パスワードを入力する必要があります(Zend Serverがローカルにインストールされている場合)。 その後、より建設的なデバッグ、トレース、およびプロファイリングをすぐに開始できます。 たとえば、Zend Framework上のアプリケーションの画像(対応するパースペクティブには、モデル/ビュー/コントローラーが正確に表示されるMVCパネルが表示されます)



画像








この図は、アプリケーションの準備(ブートストラップ)に46%の時間がかかり、基本的には構成ファイルを解析し、何度も同じ対応するオブジェクトを作成していることを示しています。すべてのリソースはデフォルトで利用可能です、それらは11個あります。「有用なアクション」-読み取りスケジューリングは27%の時間しかかからず、うんざりします。つまり、ほとんどの場合、実行時間の3/4が同じリソースに費やされます。 アクション。



次の画像は同じレポートを示していますが、円グラフ形式の異なるタブからのものです。



画像








ここからすぐに、新しいブートローダーが非常に便利ですが、最初に撃たれる犠牲者であることがわかります。 デバッグの観点から見ても、競合する場所を見つけるのに役立つコンソールを備えたパネルがあります。私の場合、ブートローダーはリソースをロードし、/ library / Zendではなくユーザーパスからヘルパーを表示しようとします。時間、処理された行、行の欠落、ファイル内のすべてのコード行、自分で見てください-面白いと約束します。 URLのプロファイルが作成されました。 他の機能を試す時間はありません。将来的には間違いなく他の機能が追加されるでしょう。おそらく、Zend Debugerの使用について詳しく検討するでしょう。



PS

Zend Controllerの最初の図は、プロファイリング時と同じURLにアクセスしたときの1秒あたりのリクエスト数を示しています。



誰かがxDebugとZend Debuggerのサポートを使用して同じホストにPHPをインストールし、問題があった場合、それらを解決した場合-時間があればコメントで教えてください。



オブジェクトの標準キャッシュでZend_Applicationをラップする必要があります



Zend_Cacheを接続する前に



プロフィールURL: example.com
クエリ: debug_host = 192.168.1.195%2C127.0.0.1&debug_fastfile = 1
パス: C:/プログラムファイル/ Zend / Apache2 / htdocs / example.com / htdocs / index.php
合計リクエスト時間: 839.07
ファイル数: 136
プロフィール日付: 2009年7月21日火曜日00:45:51 MSD 2009


/**

* index.php Zend_Application

* Autoloader,

*

*

*/



$application = new Zend_Application(

APPLICATION_ENV,

APPLICATION_PATH . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'application.ini'

);



$application->bootstrap()->run();




* This source code was highlighted with Source Code Highlighter .








Zend_Cacheを接続した後



プロフィールURL: example.com
クエリ: debug_host = 192.168.1.195%2C127.0.0.1&debug_fastfile = 1
パス: C:/プログラムファイル/ Zend / Apache2 / htdocs / emample.com / htdocs / index.php
合計リクエスト時間: 636.28
ファイル数: 89
プロフィール日付: 2009年7月21日火曜日00:33:55 MSD 2009


/**

* index.php Zend_Application

* Autoloader,

*

*

*/



$frontendOptions = array(

'cached_entity' => new Zend_Application(

APPLICATION_ENV,

APPLICATION_PATH . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'application.ini'

)

);



$backendOptions = array(

'cache_dir' => APPLICATION_CACHE,

'hashed_directory_level' => 2

);



$cache = Zend_Cache::factory( 'Class' , 'File' , $frontendOptions, $backendOptions);



$cache->bootstrap();

$cache->run();



/**

* : . .:

* $cache->bootstrap()->run();

*

* . :

* Debug Error:

* C:\Program Files\Zend\ZendServer\share\ZendFramework\library\Zend\Application\Bootstrap\Bootstrap.php

* line 69 - Call to a member function getDefaultModule() on a non-object

*/




* This source code was highlighted with Source Code Highlighter .






結論:



Zend StudioをZend Serverと組み合わせて使用​​すると、アプリケーションを1時間で最適化できました(記事の執筆開始からスクリーンショットの作成、入力、フォーマット、携帯電話での2、3回の呼び出し)。 。 もちろん、微妙な点や潜在的な問題があるかもしれませんが、この問題は単体テストを使用することでカバーされます。



PPS:



詳細な調査の結果、すべてがしっかりとキャッシュされていることが判明しました。これは原則として疑われますが、同様に、Zend_Applicationクラスを拡張し、必要なロジックを追加することで、アプリケーションの準備プロセスを最適化できます



そして今、正しい結論は、あなたが夜眠る必要があるということです。



All Articles