2011-11-10 13 views
3

による複数のモジュール私はそうのようなURLで変更、現在のGitからZendFrameworkSkeletonアプリケーションを使用しているとモジュールの多数を持っていることのモジュールの一部を利用しようとしています:Zend Frameworkの2 - URL

http://localhost/application/index/index/ 
http://localhost/guestbook/index/index/ 
http://localhost/forum/index/index/ 
また

、どのようにあなたは、将来の拡張のためにもそこに言語を使用します。

http://localhost/en/application/index/index/ 
http://localhost/de/application/index/index/ 
http://localhost/en/forum/index/index/ 
私はこれはかなりZF2モジュールの全体のポイントだと思ったし、外に動作していないよう驚いていただろう

ボックス。どのようにこれが行われることを意味するか、あるいはおそらくそれの例/チュートリアルへのリンクがあれば誰でも知っていますか?

現時点では、ルータ全体がアプリケーション全体ではなく、各モジュール内にあるように見えますが、これはどのように行うべきかと考えていたでしょう... 私はあなたが1つのアプリケーションモジュールを持っていると推測していますそれはルーティングとグローバルなものを行い、依存関係を注入し、ゲーム、アカウント、ゲストブック、フォーラムなどのようなさまざまなもののための他のモジュールを注入します。

私がGithubのサンプルアプリケーション他の人がそれに興味があると知っているように、

編集@ 24/11/2011:ZF1モジュール/コントローラ/アクションのやり方を望んでいないことについて彼らが話していることについて、寄稿者フォーラムのEvanDotProの投稿に出会ったそれはそれほど大きな需要です。彼は実際にはこのようなものを実行していたが、それは100%動作していないと言った例を書いた。だから、より多くの情報を探して、このポストに出くわすと、もう少し精通している誰もが、これはそれがある:https://github.com/EvanDotPro/EdpMagicRoute(それはまだこれを読んでの時点で存在している場合!)

+2

は、カスタム敗走を通じて達成したい何かのような音実行することができます – Phil

+0

私は/%module%/%controller%/%action%/のようにsoemthingを追加するのと同じくらい簡単だと思ったが、うまく動作していないようだ。 –

+0

うん、検索して何も見つかりませんでした。これらの2つをマージして、私は推測する...実際にどのようにするかわからない。 –

答えて

4

ルーティングを変更するには、Application/confid/module.config.phpを編集する必要があります。 [あなたは、私が追加/見ることができますが見つけ、

'options' => array(
    'route' => '/[:module/[:controller[/:action]]]', 
    'constraints' => array(
     'module' => '[a-zA-Z][a-zA-Z0-9_-]*', 
     'controller' => '[a-zA-Z][a-zA-Z0-9_-]*', 
     'action' => '[a-zA-Z][a-zA-Z0-9_-]*' 
    ), 
    'defaults' => array(
     'module' => 'Application', 
     'controller' => 'index', 
     'action' => 'index' 
    ) 
) 

に変更:モジュールとdeafultsと制約

+2

サブドメインへのルートを変更することはできますか? – ViniciusPires

1

あなたが使用することができます「child_routes」module.config.phpファイル内の属性は、モジュールの\アプリケーションの下に来ます\ CONFIG

'routes' => array(
     'application' => array(
      'type' => 'Literal', 
      'options' => array(
       'route' => '/application', 
       'defaults' => array(
        '__NAMESPACE__' => 'Application\Controller', 
        'controller' => 'Index', 
        'action'  => 'index', 
       ), 
      ), 
      'may_terminate' => true, 
      'child_routes' => array(
       'default' => array(
        'type' => 'Segment', 
        'options' => array(
         'route' => '/[:controller[/:action]]', 
         'constraints' => array(
          'controller' => '[a-zA-Z][a-zA-Z0-9_-]*', 
          'action'  => '[a-zA-Z][a-zA-Z0-9_-]*', 
         ), 
         'defaults' => array(
         ), 
        ), 
       ), 
      ), 
     ), 
    ), 

、あなたがローカルホスト/アプリケーション/インデックス/インデックス