先日下記URLのような質問をしました。
http://q.hatena.ne.jp/1295608798
しかし、また細かい点がわからないのでここで新たに質問させていただきます。
・"zf create controller コントローラ名 1 モジュール名"でモジュールを指定してコントローラの雛形を生成できることを教えていただきましたが、この2番目の引数である1の部分を1以外にするとどういったことが起きますか?
・また、デフォルトだとビュースクリプトの拡張子はphtmlになると思うのですが、これをtplになるように指定してコマンドを実行することはできますか?
以上、ご教授お願い致します。
前者に関して回答します。
手元にあるZF 1.11.1 では、
Zend/Tool/Project/Provider/Controller.php の中の
createというメソッドにおいて、indexActionIncludedという値に渡すことができるようです。
しかしこの値 下記の評価において、文字列が渡ってきて、常にTRUEになるように見受けられました。
(渡す文字列によってはできるのかもしれませんが、0、false, FALSEなどでは無理でした)
if ($indexActionIncluded) {
意図としては、 XxxxxControllerの中のメソッドの index() を作らなくて済むオプションかと思いますが、手元にあるバージョンでは少なくともその意図通りに動作しないようです。
前者に関して回答します。
手元にあるZF 1.11.1 では、
Zend/Tool/Project/Provider/Controller.php の中の
createというメソッドにおいて、indexActionIncludedという値に渡すことができるようです。
しかしこの値 下記の評価において、文字列が渡ってきて、常にTRUEになるように見受けられました。
(渡す文字列によってはできるのかもしれませんが、0、false, FALSEなどでは無理でした)
if ($indexActionIncluded) {
意図としては、 XxxxxControllerの中のメソッドの index() を作らなくて済むオプションかと思いますが、手元にあるバージョンでは少なくともその意図通りに動作しないようです。
ご回答いただいた内容を参考にこちらでも実践しましたが、たしかに0やfalseを渡しても動作しませんでした。
>意図としては、 XxxxxControllerの中のメソッドの index() を作らなくて済むオプションかと思います
なるほどですね。すっきりしました。
常に1にしておいても問題なさそうですね。
後者に関しては、
/Zend/Tool/Project/Context/Zf あたりを見ると固定で .phtml を結合している箇所が多く(少なくとも私の1.11.1では)ご要望が実現できないように見えました。
(こちらは参考にならないかもしれません・・・)
こちらもご回答ありがとうございます。
私の方でもソースを覗いてみました。
==========
# egrep -rni '*.phtml' /usr/share/php/ZendFramework-1.11.2/library/Zend/Tool/Project/Context/Zf/
/usr/share/php/ZendFramework-1.11.2/library/Zend/Tool/Project/Context/Zf/ViewScriptFile.php:61: protected $_filesystemName = 'view.phtml';
/usr/share/php/ZendFramework-1.11.2/library/Zend/Tool/Project/Context/Zf/ViewScriptFile.php:92: $this->_filesystemName = $this->_convertActionNameToFilesystemName($forActionName) . '.phtml';
/usr/share/php/ZendFramework-1.11.2/library/Zend/Tool/Project/Context/Zf/ViewScriptFile.php:95: $this->_filesystemName = $scriptName . '.phtml';
/usr/share/php/ZendFramework-1.11.2/library/Zend/Tool/Project/Context/Zf/ViewScriptFile.php:133: if ($this->_filesystemName == 'error.phtml') { // should also check that the above directory is forController=error
/usr/share/php/ZendFramework-1.11.2/library/Zend/Tool/Project/Context/Zf/LayoutScriptFile.php:45: protected $_filesystemName = 'layout.phtml';
==========
仰る通り固定されていますね。
できないならできないでmvコマンドでリネームするしかなさそうですね。
ご回答いただいた内容を参考にこちらでも実践しましたが、たしかに0やfalseを渡しても動作しませんでした。
>意図としては、 XxxxxControllerの中のメソッドの index() を作らなくて済むオプションかと思います
なるほどですね。すっきりしました。
常に1にしておいても問題なさそうですね。