質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Zend Framework

Zend Frameworkは、PHP5で記述されたWebアプリケーションフレームワークです。Zend Frameworkには守らなければならない開発の規定というものは存在せず、MVCなどの複数のコンポーネントを提供しています。

Q&A

解決済

1回答

5783閲覧

Zendでコントローラファイル(~Controller.php)が見つからない。

ksyunnnn

総合スコア60

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Zend Framework

Zend Frameworkは、PHP5で記述されたWebアプリケーションフレームワークです。Zend Frameworkには守らなければならない開発の規定というものは存在せず、MVCなどの複数のコンポーネントを提供しています。

0グッド

0クリップ

投稿2016/10/25 01:59

編集2016/10/25 02:29

###前提・実現したいこと
PHP,Zendフレームワークで開発しています。
後述のエラーが発生し、正常に画面が表示できない状況です。

###発生している問題・エラーメッセージ
下記のようなエラーが表示されます

2016-10-25T10:52:23+09:00 DEBUG (7): exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (hogelist)' in hogehoge/htdocs/user/library/Zend/Controller/Dispatcher/Standard.php:248 Stack trace: #0 hogehoge/htdocs/user/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 hogehoge/htdocs/user/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() #2 hogehoge/htdocs/user/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() #3 hogehoge/htdocs/user/public/index.php(73): Zend_Application->run() #4 {main} 2016-10-25T10:52:23+09:00 DEBUG (7): Request Parameters : array ( 'controller' => 'hogelist', 'action' => 'hoge', 'module' => 'default', 'id' => '2',

###試したこと
'Invalid controller specified (hogelist)'
というメッセージがhogelistコントローラがみつからないことを示しているという情報を見つけましたが、コントローラは正しい位置に配置しており、コントローラ名はHogeListControllerとしており問題はない認識です。
###補足情報(言語/FW/ツール等のバージョンなど)
HogeListControllerindexActionだけは一度正常に呼び出せており、画面遷移のためのアクション hogeActionが良い出せていない状況です。

どのような原因が考えられるのでしょうか。
ご存知の方いらっしゃれば是非ご教示いただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

大文字なのは先頭だけで HogelistController としなければディスパッチできないはずです。

投稿2016/10/25 02:04

timy

総合スコア168

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ksyunnnn

2016/10/25 02:27

早速のご回答ありがとうございます。 先頭以外に大文字にはできないものなのでしょうか? というのも他の箇所ではコントローラ名にHogeListのような記述で利用できているものもあり、大文字が利用できない認識がなかったので、、 また、これは質問内容に補足すべきだったのですが、 `HogeListController`の `indexAction`だけは一度正常に呼び出せており、画面遷移のためのアクション `hogeAction`が良い出せていない状況です。 情報が足りておらず恐縮ですm(_ _)m
timy

2016/10/25 02:58

同じコントローラなのにアクションによって Invalid controller になるのは不可解ですね。 リクエストしているURLの側が違っているのではないか? くらいしか思いつかないです。 ディスパッチで一番ハマりやすいところなのでコントローラ名はクラス名・ファイル名とも先頭のみ大文字に統一するのが一番確実だと思いますが……。
ksyunnnn

2016/10/25 05:33 編集

ありがとうございます。 身内でも確認したところ、 `hogeAction`で行っていた画面遷移動作が悪さしていたようで、その中で画面の遷移先のコントローラ名を大文字で指定していたことが原因のようでした。 HogeListではなく、hoge-listと指定することでうまくいくようです。 恐らくtimy様の指摘しているところと近しい原因のようです。 至極丁寧なご説明をいただきありがとうございました。 引き続きよろしくお願いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問