2012-01-27 14 views
1

これはどのような提案にも開放されており、Zend Frameworkのユーザーがこれを手伝ってくれるのかどうか疑問に思っていました。大規模なマルチサイトのプロジェクトプロジェクトのアイデア

私はZendフレームワークを使用して、中規模のデータベース駆動型Webサイトを構築しました。これは非常に強力なフレームワークです。

しかし、StackExchange.comと同じような大きさのものを見て、zendを使ってマルチサイトプロジェクトを実装する方法と、設定を使って単純に複製することができる「メイン」ウェブサイトを作成する機能が不思議でした。別のドメインで開催されていますが、特定の機能が拡張されています。

私は、サイトとリンクを同じフレームワークにコピーしますが、フレームワークを使用してメインのウェブサイト(stackexchange.com)を拡張して、メインフォーラムを機能のようにしますが、完全な別のサイトを作成します必要な場所で同じ機能を持つことができます。

私が質問するのは、スタックエクスチェンジの開発者が毎回サイトを再構築しなければならないという印象ではないし、サイトのコピーが1つまたは複数のフレームワークライブラリにリンクしているとは思わないからです。

スタックオーバフローの開発者やオタクのオタクがこれにどのような光を当てても、私は幸せになるでしょう。

ありがとうございます!

+0

curl()を使用して別のWebサイトから結果を取得し、変数に保存して他のサイト用に再フォーマットすることもできます。 – HenryGuy

答えて

1

hostname routesを使用すると、複数の(サブ)ドメインを扱うZendライブラリの単一コピーだけでなく、単一のアプリケーションを実装できます。

DNSおよび仮想ホストレベルでは、すべてのドメインが単一のpublicフォルダにマップされます。 .htaccessはすべてのリクエストをindex.phpにプッシュします。このindex.phpは1つのAPPLICATION_PATHを指しています。ブートストラップでは、要求が行われたドメインを識別するためにhostnameルートを使用できます。 routeShutdown()フックのフロントコントローラープラグインは、追加のホスト名固有の設定を読み込み、他のホスト名特有のアクション(例えば、レイアウトの設定など)を取ることができます。

+0

ありがとう、それは私が心に持っていたもののようなものですが、それについてどうやって行くのか分かりませんでした。乾杯。 –

0

モジュラーアプローチがここで最もうまくいくと思います。

David Weinraubは、フロントコントローラーrouteshutdown()フックを使用するという点で優れたアプローチをしていると思いますが、同じことをやっていますが、デフォルトのモジュールを設定するために使用します。 www.site1.comはsite1モジュール(Coreモジュールを拡張)のコンテンツを提供するように見えます。

私はセットアップに以下と同様に適用したい:Coreモジュールを使用して

|Project 
    |-Application 
     |-configs 
     |-controllers 
     |-models 
     |-modules 
      |-core 
      |-site1 
      |-site2 
      |-site3 
     |-views 
     |-Bootstrap.php 
    |-Docs 
    |-Library 
    |-Public 
    |-.zfproject.xml 

を、「サブサイトでは、」Coreモジュールからコントローラを拡張し、あなたがた機能を提供します

'これは、必要な場合と同じ機能を持つことができます。

関連する問題