ZendFrameworkクイックスタート-プロジェクトの作成

この記事は超自然的なものではなく、勉強を始めた人により適しています。

Zend Framework。 たまたまそのバージョンで勉強を始めた

1.7、しかし、このツールの知識を始めてすぐに、彼らは私を軍隊に連れて行き、1年間プログラミングをしませんでした。 今、私たちの故郷に戻るまであと1ヶ月があり、自由時間も現れました。

自分で気づいたように、ツールの研究の最初に、私は常に手元に置いておきたいので、可能な限りすぐに

深く掘り下げ、多くのドキュメントを読み直さないでください。

だから、まだバージョン1.7だったときにZend Frameworkでそれを持っていました

いくつかの記事を読み直して、たくさんのディレクトリを作り直さなければなりませんでした。

動作するZend Frameworkプロジェクトをセットアップします。 実際、この記事はZend Framework Quick Start | Articleの翻訳の一種です Zend Frameworkバージョン1.10.5の プロジェクト作成する

いくつかの修正とメモ付き。

それを読んだ後、動作するZend Frameworkを簡単に作成できると思います

プロジェクトを実施し、すぐに実際の学習に進みます。



一般的に、それにもかかわらず、誰かが自分の好みに合った記事を見つけた場合、私は取ります

クイックスタートシリーズのすべての記事を翻訳します。



さあ行こう...





Zend Frameworkをインストールする



プロジェクトを作成するには、まずZend Frameworkをダウンロードして解凍する必要があります。

レースの詳細には入りません。

彼はここのどこかにあります



PHPを含むZend Frameworkを設定する最も簡単な方法は、 Zend Serverをインストールすることです。

Zend Serverには、Mac OSX、Windows、Fedora Core、Ubuntuなどのオペレーティングシステム用のインストーラーがあります。

さらに、Zend Serverには、ほとんどのLinuxディストリビューションと互換性のあるユニバーサルインストールパッケージもあります。

Zend Serverをインストールすると、MacOS XおよびLinuxオペレーティングシステムの/ usr / local / zend / share /ディレクトリまたはWindowsオペレーティングシステムのC:\ Program Files \ Zend \ ZendServer \ share \ ZendFrameworkディレクトリFrameworkが見つかります。

さらに、Zend Frameworkの最新バージョンをアーカイブとしてダウンロードしてから、解凍することができます。



プロジェクト作成



注: Zend Frameworkがインストールされているディレクトリには、スクリプトの内容のbinサブディレクトリが含まれています。

UnixベースおよびWindows用のzf.shおよびzf.bat これらのシナリオへの絶対パスを覚えておいてください。

zfコマンドは以下で使用されます。 正常に動作するには、コマンドへのパスをオペレーティングシステムの絶対パスに置き換えます。 Unixシステムでは、 エイリアスを使用できます。

たとえば、次のように:

alias zf.sh=path/to/ZendFramework/bin/zf.sh





zfスクリプトの使用に問題がある場合は、 マニュアルを使用してください

ターミナルウィンドウを開きます(Windowsでは、[スタート]-> [実行]-> [cmd]に移動します)コンソールで、プロジェクトを作成するディレクトリに移動します。 次に、 zfスクリプトを使用してプロジェクトを作成します。

たとえば、次のように:

zf create project quickstart





このコマンドの結果として、標準のView Controllerとスクリプトを含む標準のZendFrameworkプロジェクトが作成されます。

ディレクトリツリーは次のようになります。

quickstart

|-- application

| |-- Bootstrap.php

| |-- configs

| | `-- application.ini

| |-- controllers

| | |-- ErrorController.php

| | `-- IndexController.php

| |-- models

| `-- views

| |-- helpers

| `-- scripts

| |-- error

| | `-- error.phtml

| `-- index

| `-- index.phtml

|-- library

|-- public

| |-- .htaccess

| `-- index.php

`-- tests

|-- application

| `-- bootstrap.php

|-- library

| `-- bootstrap.php

`-- phpunit.xml







さらに、php.iniファイルのinclude_pathで Zend Frameworkスクリプトへのパスを指定しなかった場合、リンクを作成するか、プロジェクトのライブラリ/ディレクトリにZendFrameworkスクリプトをコピーすることをお勧めします。

Unixシステムでは、これは次のように実行できます。

# Symlink:

% cd library; ln -s path/to/ZendFramework/library/Zend

# Copy:

% cd library; cp -r path/to/ZendFramework/library/Zend







プロジェクトが作成されたので、次のような概念の分析に進むことができます。

ブートストラッパー、構成、アクションコントローラー、およびビュースクリプト。



Bootstraper(ダウンローダー)



Bootstraperクラスは、プロジェクトで初期化されるリソースとコンポーネントを定義します。 デフォルトでは、 フロントコントローラは初期化され、 アプリケーション/コントローラ/ディレクトリをデフォルトのディレクトリとして使用してアクションコントローラを検索します(後で説明します)。このクラスは次のようになります。





  1. // application / Bootstrap.php
  2. クラス BootstrapはZend_Application_Bootstrap_Bootstrapを拡張します
  3. {
  4. }
*このソースコードは、 ソースコードハイライターで強調表示されました。




構成



現時点では、Zend Frameworkプロジェクトは多かれ少なかれ構成されています。 ただし、将来的には、いずれにしても、アプリケーションを好みに合わせて構成する必要があります。 メイン設定ファイルはデフォルトでファイルapplication / configs / application.iniに保存され、PHP環境をセットアップするための基本的なディレクティブが含まれています(たとえば、エラーレポートの有効化と無効化)。 さらに、このファイルには

ブートストラップクラスへのパス、およびアクションコントローラーへのパス。

このファイルは次のようになります。

; application/configs/application.ini

[production]

phpSettings.display_startup_errors = 0

phpSettings.display_errors = 0

includePaths.library = APPLICATION_PATH "/../library"

bootstrap.path = APPLICATION_PATH "/Bootstrap.php"

bootstrap.class = "Bootstrap"

appnamespace = "Application"

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"

resources.frontController.params.displayExceptions = 0

[staging : production]

[testing : production]

phpSettings.display_startup_errors = 1

phpSettings.display_errors = 1

[development : production]

phpSettings.display_startup_errors = 1

phpSettings.display_errors = 1






構成ファイルについて知っておく必要があるいくつかの事項を以下に示します。 ini構成ファイルを使用する場合、定数を使用できます。 APPLICATION_PATHは定数です。 さらに、このファイルには、本番、ステージング、テスト、および開発のいくつかのセクションが定義されています。 最後の3つのセクションは、「実動」セクションから設定を継承します。 この分類は、開発のすべての段階で設定の可用性を保証する良い方法です。



アクションコントローラー



アクションコントローラーはアプリケーションの主要部分であり、要求の処理、モデルからのデータの選択、およびビューへの転送を担当します。

アクションコントローラーには、 「Action」という単語で終わる1つ以上のメソッドが必要です。これらのメソッドは、アプリケーションのページが要求されると起動されます。 デフォルトでは、Zend FrameworkのURLは次のパターンに従います。 「/ controller / action」ここで、 controllerは現在のコントローラーで、 actionは現在のアクションです。 例: mysite / simple / test ここでは、コントローラーは簡単で、 テストはです。

通常、Zend Frameworkアプリケーションには2つのアクションコントローラー( IndexController)が必要です。これは、デフォルトコントローラーまたはサイトのホームページであるコントローラーと、HTTP 404(ページが見つかりません)またはHTTP 500(アプリケーションエラー)などのエラーを処理するように設計されたErrorControllerです。

ZendFrameworkプロジェクトの作成後にデフォルトで存在するIndexControllerは次のとおりです。





  1. //アプリケーション/コントローラー/ IndexController.php
  2. クラス IndexControllerはZend_Controller_Actionを拡張します
  3. {
  4. パブリック関数init()
  5. {
  6. / *ここでアクションコントローラを初期化します* /
  7. }
  8. パブリック関数indexAction()
  9. {
  10. //アクション本体
  11. }
  12. }
*このソースコードは、 ソースコードハイライターで強調表示されました。


デフォルトで作成されるエラーコントローラーは次のようになります。





  1. //アプリケーション/コントローラー/ ErrorController.php
  2. クラス ErrorControllerはZend_Controller_Actionを拡張します
  3. {
  4. パブリック関数errorAction()
  5. {
  6. $ errors = $ this- > _ getParam( 'error_handler' );
  7. スイッチ ($ errors-> type){
  8. case Zend_Controller_Plugin_ErrorHandler :: EXCEPTION_NO_ROUTE:
  9. case Zend_Controller_Plugin_ErrorHandler :: EXCEPTION_NO_CONTROLLER:
  10. case Zend_Controller_Plugin_ErrorHandler :: EXCEPTION_NO_ACTION:
  11. // 404エラー-コントローラーまたはアクションが見つかりません
  12. $ this-> getResponse()-> setHttpResponseCode(404);
  13. $ this-> view-> message = 'ページが見つかりません' ;
  14. 休憩 ;
  15. デフォルト
  16. //アプリケーションエラー
  17. $ this-> getResponse()-> setHttpResponseCode(500);
  18. $ this-> view-> message = 'アプリケーションエラー' ;
  19. 休憩 ;
  20. }
  21. $ this-> view-> exception = $ errors-> exception;
  22. $ this-> view-> request = $ errors-> request;
  23. }
  24. }
*このソースコードは、 ソースコードハイライターで強調表示されました。


IndexControllerは実際にはコードを持たないのに対し、 ErrorController「view」という形式のビューを参照することに注意してください



スクリプトを表示する



Zend Frameworkのビュースクリプトは、デフォルトで単純なphp構文を使用します。 ビュースクリプトは、 アプリケーション/ビュー/スクリプト/ディレクトリにあり、アクションコントローラに応じてディレクトリに配布されます。 たとえば、このプロジェクトにはそれぞれIndexControllerErrorControllerコントローラーがあり、それらのビュースクリプトはindex /およびerror /サブディレクトリにありますこれらのサブディレクトリには、アクションのビュースクリプトである* .phtmlタイプのファイルが含まれています。 そのため、デフォルトではindex / index.phtmlおよびerror / error.phtmlという形式のスクリプトがありますインデックスコントローラーとエラーコントローラーのそれぞれ。

ビュースクリプトには任意のテキストを含めることができます。 さらに、php <?Php?>タグを使用して、PHPディレクティブを挿入できます。

これは、indexControllerコントローラーのインデックスアクションのビュースクリプトです。





  1. <!-アプリケーション/ビュー/スクリプト/インデックス/ index.phtml->
  2. < スタイル >
  3. a:リンク、
  4. a:訪問した
  5. {
  6. 色:#0398CA;
  7. }
  8. スパン#zf-name
  9. {
  10. 色:#91BE3F;
  11. }
  12. div#ようこそ
  13. {
  14. 色:#FFFFFF;
  15. background-image:url(http://framework.zend.com/images/bkg_header.jpg);
  16. 幅:600px;
  17. 高さ:400px;
  18. border:2px solid#444444;
  19. オーバーフロー:非表示。
  20. text-align:center;
  21. }
  22. div#詳細情報
  23. {
  24. background-image:url(http://framework.zend.com/images/bkg_body-bottom.gif);
  25. 高さ:100%;
  26. }
  27. </ スタイル >
  28. < div id = "welcome" >
  29. < h1 > < span id = "zf-name"へようこそ> Zend Framework! </ span > < h1 />
  30. < h3 >これはプロジェクトのメインページ< h3 />
  31. < div id = "詳細情報" >
  32. < p >
  33. < img src = "http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png" />
  34. </ p >
  35. < p >
  36. 役立つリンク:
  37. <a href = "http://framework.zend.com/"> Zend FrameworkのWebサイト</ a > |
  38. <a href = "http://framework.zend.com/manual/en/"> Zend Framework
  39. マニュアル</ a >
  40. </ p >
  41. </ div >
  42. </ div >
*このソースコードは、 ソースコードハイライターで強調表示されました。




そして、これがエラーコントローラのビュースクリプトの外観です

PHPの手順が含まれていることに注意してください。





  1. <!-アプリケーション/ビュー/スクリプト/エラー/ error.phtml->
  2. <! DOCTYPE html PUBLIC "-// W3C // DTD XHTML 1.0 Strict // EN" ;
  3. " http: // www。w3。org / TR / xhtml1 / DTD / xhtml1-strict。dtd >
  4. < html xmlns = "http://www.w3.org/1999/xhtml" >
  5. < >
  6. < meta http-equiv = "Content-Type" content = "text / html; charset = utf-8" />
  7. < title > Zend Frameworkのデフォルトアプリケーション</ / title >
  8. </ >
  9. < 本体 >
  10. < h1 >エラーが発生しました</ h1 >
  11. < h2 > <? php echo $ this- >メッセージ? > </ h2 >
  12. <? php if'development' == $ this- > env):? >
  13. < h3 >例外情報: </ h3 >
  14. < p >
  15. < b >メッセージ: </ b > <? php echo $ this- > exception- > getMessage()? >
  16. </ p >
  17. < h3 >スタックトレース: </ h3 >
  18. < pre > <? php echo $ this- > exception- > getTraceAsString()? >
  19. </ pre >
  20. < h3 >リクエストパラメータ: </ h3 >
  21. < pre > <? php echo var_export ($ this- > request- > getParams()、1)? >
  22. </ pre >
  23. <? php endif>
  24. </ body >
  25. </ html >
*このソースコードは、 ソースコードハイライターで強調表示されました。




仮想ホストの作成



この例では、 Apacheサーバーを使用します。 Zend Frameworkは、Microsoft IIS、lighthttpd、nginxなどの他のサーバーと連携しますが、ほとんどの開発者は少なくともApacheに精通している必要があります。



仮想ホストを作成するには、 httpd.confファイルの場所を知る必要があります

以下は、Apacheサーバー構成ファイルが配置されるディレクトリのリストです。



/etc/httpd/httpd.conf(Fedora、RHELなど)

/etc/apache2/httpd.conf(Debian、Ubuntuなど)

/usr/local/zend/etc/httpd.conf(* nixオペレーティングシステム上のZendサーバー)

C:\ Program Files \ Zend \ Apache2 \ conf(Zend Server on Windows)



httpd.confファイル(または一部のシステムではhttpd-vhosts.conf)では、2つのことを行う必要があります。 まず、NameVirtualHostが定義されていることを確認します。 通常「*:80」。

次に、プロジェクトの仮想ホストを作成します。

<VirtualHost quickstart:80>

ServerName quickstart.local

DocumentRoot /path/to/quickstart/public

SetEnv APPLICATION_ENV "development"

<Directory /path/to/quickstart/public>

DirectoryIndex index.php

AllowOverride All

Order allow,deny

Allow from all











知っておくべきことがいくつかあります。 DocumentRootディレクティブは、プロジェクトのpublic /ディレクトリを示します。 AllowOverride、Order、およびAllowディレクティブは、プロジェクト内で.htacessファイルを使用できるように構成する必要があります。 プロジェクト内の一部のディレクティブを変更するときにサーバーを常に再起動する必要がないため、開発中はこれが良い習慣です。 それにもかかわらず、実稼働バージョンでは、これらのディレクティブは、このファイルの使用を禁止するように構成する必要があります。 第三に、 SetEnvディレクティブを設定する必要があります。 ここで、仮想ホストの環境変数を設定します。 後でindex.phpに含まれ、Zend FrameworkアプリケーションのAPPLICATION_ENV定数を設定するために使用されます。 製品版では、このディレクティブを省略できます。

最後に、 仮想ホストを* nixシステム上のhostsファイルに追加する必要があります 。通常は/ etc / hostsです。 Windowsでは、 C:\ WINDOWS \ system32 \ drivers \などにあります。

オペレーティングシステムに関係なく、hostsファイルは次のようになります。

127.0.0.1 quickstart.local







Webサーバーを起動(または再起動)すると、Zend Frameworkの調査を続けることができます。



All Articles