
zendframeworkの階層について質問です。階層を深くした場合の構造が理解できません。
例えばexsample.com/test/というURLの場合
/application/controllers/TestController.php
class TestControllerAction extends Zend_Controller_Action
{
public function indexAction()
{
//略
}
}
とすればこれで問題なく動作しますが
exsample.com/hoge/test/というURLの場合はどのようにしたらいいですか?
ルーター?の設定等は特に変更はしておらずデフォルトの状態で利用しています。
No.3ベストアンサー
- 回答日時:
長ったらしいですがマニュアル通りかくとこんな感じでしょうか。
動作は未検証。
== routes.ini
[production]
routes.hoge.type = "Zend_Controller_Router_Route"
routes.hoge.route = "hoge/:id/:page"
routes.hoge.defaults.controller = "hoge"
routes.hoge.defaults.action = "index"
== index.php
$config = new Zend_Config_Ini('routes.ini', 'production');
$router = new Zend_Controller_Router_Rewrite();
$router->addConfig($config, 'routes');
$front = Zend_Controller_Front::getInstance();
$front->setRouter($router);
$front->dispatch();
http://framework.zend.com/manual/ja/zend.control …
http://framework.zend.com/manual/ja/zend.control …
No.2
- 回答日時:
Router_Route とか Router_Regex を使ったら応用きいていいかも。
map: hoge/cate/:id/:page
url: hoge/cate/1/2
=> params: id = 1, page = 2
みたいに。
お返事ありがとうございます。
学習不足な為、どうやって実装すればいいものか理解できない状態です^^;
ちなみにこれはindex.phpで行うのでしょうか?現在のソースは以下のような感じです。
require_once 'Zend/Controller/Front.php';
require_once 'Zend/Controller/Router/Route/Regex.php';
Zend_Controller_Front::getInstance()->setParam('noViewRenderer', true);
//Zend_Controller_Front::getInstance()->setParam('noErrorHandler', true);
Zend_Controller_Front::run('application/controllers');
上記にどのように足せば実現できるようになるのか具体的に教えて頂けないでしょうか?
宜しくお願い致します。
No.1
- 回答日時:
> exsample.com/hoge/test/というURLの場合はどのようにしたらいいですか?
HogeController.php の testAction() が呼ばれます。
exsample.com/<コントローラー名>/<アクション名>/<パラメータ名>/<パラメータ値>
例:
exsample.com/members/view/page/2
にアクセスすると
MembersController.php の viewAction() に page = 2 のパラメーターでアクセスしたことになります。
デフォルトコントローラーとアクションが index なので、
exsample.com
exsample.com/index
exsample.com/index/index
ではどれも、IndexController.php 内の indexAction() となります。
お返事ありがとうございます。やっと理解できました^^
ちなみにもうひとつ疑問があるのですがパラーメータの場合
hoge/cate/id/1/page/2/というURLの場合にはhoge/cate.php?id=1&page2となりますよね?
パラメータが増えるに連れて階層も深く見えるのでこれをシンプルに
hoge/cate/1/2/としてhoge/cate.php?id=1&page2へのアクセスと同様に扱いたいのですが
どうすれば可能なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux 【初心者】aws lightsail で自作のオリジナルテーマのwordpressを設定する方法 1 2022/07/14 09:46
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- ネットワーク プロトコルの階層化とインターフェースとの違い 2 2022/07/26 02:38
- JavaScript 階層別の組織図の自動作成について 1 2022/10/26 13:42
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Windows 10 自作フォルダアイコンがいつの間にか変わる 3 2023/07/04 08:29
- Windows 10 Window10ショートカットキーで切り取り貼り付けするとコンテキストメニューと挙動が異なる理由は? 2 2022/04/16 17:57
- JavaScript Google reCAPTCHAについて 1 2023/02/22 14:37
- 事件・事故 タワーマンションについて 7 2022/11/02 23:25
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<a href>タグ内のURL抽出
-
file_existsが動作しない
-
classの再定義エラーについて
-
.htaccessについて
-
PHPの変数値をリンクさせたい
-
VBA コレクションに2次元配列...
-
【シェル】case文でワイルドカ...
-
findstrのerrorlevel
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
PHPでカレンダーを作成する際の...
-
syntax error, unexpected 'ech...
-
開始と終了を指定して、その間...
-
Yahoo! JAPAN IDを新規取得でき...
-
セッションの破棄
-
×で表示されない
-
301リダイレクトはセッション引...
-
【C#】DataGridViewの最大列数...
-
RSSで取得したデータが文字切れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
PHPの名前空間インポートについて
-
エラーの理由が分りません。Pri...
-
どういうプログラムを関数化を...
-
VB.NETからVBAマクロ(引数)を呼...
-
可変変数にアロー演算子を使いたい
-
Let's Encryptで自動更新がされ...
-
classの再定義エラーについて
-
PHP、ヒアドキュメント内でのIF...
-
protectedなのにアクセスできな...
-
既存関数の上書き
-
[C++]std:mapの扱いを教えて頂...
-
file_existsが動作しない
-
Smarty変数の値をJavascript変...
-
PHPで呼び出し元の関数名の取得...
-
継承クラスで定義したメソッド...
-
UNIX CP "で上書きしません"
-
ローテーションバナー広告について
-
変数の内容が突然変化するのは...
-
stripslashesが効かない!?
おすすめ情報