コマンドで雛形を作る CLIツール

Zend Frameworkでは、コマンドプロンプトやターミナルから、ファイルの雛形を作ったりすることができるCLIツールが備わっています。

[参考記事] CLIで作成されるで雛形のディレクトリ構成

Windows
Linux
確認方法
zfコマンドの一覧
表示の確認

Windows

Zend Frameworkパッケージの /binフォルダの中のzf.batzf.phpをPHPのインストールフォルダにコピーします。

PHPのインストールフォルダは標準のインストールでは下記の場所です。

C:\Program Files\PHP
C:\PHP
C:\Program Files\ZendServer\bin\
C:\WAMP\PHP\bin

[参考記事] 『指定されたモジュールが見つかりません。』や『コンポーネントが見つかりません。』と出たら

Linux

Zend Frameworkパッケージの /binフォルダの中のzf.batzf.phpを下記のディレクトリのいずれかにコピーします。

/usr/bin
/usr/local/bin
/usr/local/ZendServer/bin/
/Applications/ZendServer/bin/

Zend Frameworkパッケージからシンボリックリンクを張って対応することも可能です。

例
ln -s 【Zend Frameworkディレクトリ】/bin/zf.sh /usr/local/bin/zf

確認方法

コマンドプロンプトやターミナルから

zf show version

と実行して、バージョン情報が表示されれば設定は完了しています。


次のようにZF ERRORが出るときには、PHPからZend Frameworkが読み込めていません。

***************************** ZF ERROR ********************************
In order to run the zf command, you need to ensure that Zend Framework
is inside your include_path.  If you are running this tool without
ZendFramework in your include_path, you can alternatively set one of
two environment variables to for this tool to work:

a) ZEND_TOOL_INCLUDE_PATH_PREPEND="/path/to/ZendFramework/library"

OR alternatively

b) ZEND_TOOL_INCLUDE_PATH="/path/to/ZendFramework/library"

The former (a) will make the specified Zend Framework first in the
include_path whereas the latter (b) will replace the include_path
with the specified path.

Information:
    attempted include_path: .;C:\Program Files\PHP\pear
    script location: C:\Program Files\PHP\\zf.php

このときはphp.iniのinclude_pathを変更するか、zf.phpの先頭に下記のコードを追記して、Zend Frameworkをインクルードパスに含めるようにします。

set_include_path(
  "【ZendFrameworkのlibraryのパス】"
  . PATH_SEPARATOR .
  get_include_path());

zfコマンドの一覧

zf show version

$ zf show version

Zend Frameworkのバージョンを表示します。

zf show phpinfo

$ zf show phpinfo

phpinfo(PHPの設定状況など)を表示します。

zf show manifest

$ zf show manifest

manifestを表示します。

zf show profile

$ zf show profile

profileを表示します。

zf create project

$ zf create project 【 Zend Frameworkプロジェクトを作成するパス】

パスを指定しないで実行すると、作成するパスを問われます。

$ zf create project[Enter]
Please provide a value for $path
zf> 【 Zend Frameworkプロジェクトを作成するパス】[Enter]

zf show project

プロジェクトを表示します。

zf create controller

$ zf create controller 【コントローラ名】

コントローラ名を指定しないで実行すると、作成するコントローラ名を問われます。

$ zf create controller[Enter]
Please provide a value for $name
zf> 【コントローラ名】[Enter]
Creating a controller at [Zend Framework Project]/application/controllers/[コントローラ名]Controller.php
Creating an index action method in controller [コントローラ名]
Creating a view script for the index action method at [Zend Framework Project]/application/views/scripts/[コントローラ名]/index.phtml
Creating a controller test file at [Zend Framework Project]/tests/application/controllers/[コントローラ名]ControllerTest.php
Updating project profile '[Zend Framework Project]/.zfproject.xml'

zf create action

$ zf create action 【アクション名】

アクション名を指定しないで実行すると、作成するアクション名を問われます。

$ zf create action[Enter]
Please provide a value for $name
zf> 【アクション名】[Enter]
Creating an action named [アクション名] inside controller at [Zend Framework Project]/application/controllers/IndexController.php
Updating project profile '[Zend Framework Project]/.zfproject.xml'
Creating a view script for the [アクション名] action method at [Zend Framework Project]/application/views/scripts/index/[アクション名].phtml
Updating project profile '[Zend Framework Project]/.zfproject.xml'

zf create view

$ zf create view 【コントローラ名】 【アクション名】

コントローラ名・アクション名を指定しないで実行すると、コントローラ名・アクション名を問われます。

$ zf create view[Enter]
Please provide a value for $controllerName
zf> 【コントローラ名】[Enter]
Please provide a value for $actionNameOrSimpleName
zf> 【アクション名】[Enter]
Updating project profile '[Zend Framework Project]/.zfproject.xml'

zf create module

$ zf create module 【作成するモジュール名】

モジュール名を指定しないで実行すると、作成するモジュール名を問われます。

$ zf create module[Enter]
Please provide a value for $name
zf> 【作成するモジュール名】[Enter]
Creating the following module and artifacts:
[Zend Framework Project]/application/modules/[モジュール名]/controllers
[Zend Framework Project]/application/modules/[モジュール名]/models
[Zend Framework Project]/application/modules/[モジュール名]/views
[Zend Framework Project]/application/modules/[モジュール名]/views/scripts
[Zend Framework Project]/application/modules/[モジュール名]/views/helpers
[Zend Framework Project]/application/modules/[モジュール名]/views/filters
Updating project profile '[Zend Framework Project]/.zfproject.xml'

次のように zf --helpを実行すると、zfコマンドの一覧が表示されます。

C:\>zf --help
Zend Framework Command Line Console Tool v1.9.3PL1
Usage:
    zf [--global-opts] action-name [--action-opts] provider-name [--provider-opts] [provider parameters ...]
    Note: You may use "?" in any place of the above usage string to ask for more specific help information.
    Example: "zf ? version" will list all available actions for the version provider.

Providers and their actions:
  Version
    zf show version mode[=mini] name-included[=1]
    Note: There are specialties, use zf show version.? to get specific help on them.

  Phpinfo
    zf show phpinfo

  Manifest
    zf show manifest

  Profile
    zf show profile

  Project
    zf create project path name-of-profile file-of-profile
    zf show project
    Note: There are specialties, use zf show project.? to get specific help on them.

  View
    zf create view controller-name action-name-or-simple-name

  Controller
    zf create controller name index-action-included[=1] module

  Action
    zf create action name controller-name[=index] view-included[=1] module

  Module
    zf create module name

  ProjectProvider
    zf create project-provider name actions

表示の確認

publicをルートディレクトリとしたとき、

http://127.0.0.1/

のようなURLでアクセスし、次のような画面が表示されれば完了です。


コントローラにアクセスするには、次のようなURLになります。

http://127.0.0.1/[コントローラ名]
または
http://127.0.0.1/[コントローラ名]/

アクションにアクセスするには、次のようなURLになります。

http://127.0.0.1/[コントローラ名]/[アクション名]
または
http://127.0.0.1/[コントローラ名]/[アクション名]/

関連記事

スポンサーリンク

capitalize修飾子 単語の先頭を大文字にする

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る