0

Webサイト全体で共有されるコードの冗長性を減らすことを目指しています。私はいくつかのフレームワークをいじくり回しましたが、同時に複数のサイトで共有しながら、フレームワークコードをサイトコードから簡単に分離できるものは考えられません。

どのPHPフレームワークがこれを簡単に行うことができますか?

編集-私はどのフレームワークを共有するのが最も簡単かを判断しようとしています..私はすでにほぼすべてを共有できると推測していましたが、どのフレームワークが共有に向けられていますか?Yiiはフレームワークコードをサイトコードの外に配置することを推奨しているようです。これは良いスタートです。

誰かがすでに同じフレームワークコードをサイト間で共有している場合は、それについて知りたいと思います。

4

6 に答える 6

3

Fuel(http://fuelphp.com)でそれを行うのはとても簡単です。

各Webサイトには、いくつかのパスが定義されているindex.phpがあります。

/**
* Set all the paths here
*/
$app_path       = '../fuel/app/';
$package_path   = '../fuel/packages/';
$core_path      = '../fuel/core/';

ご覧のとおり、中央リポジトリでコアとパッケージを共有し、各Webサイトに単一のアプリとパブリックフォルダーを作成できます。

.htaccessに別の環境を設定するだけで、カスタマイズするさまざまなWebサイト(たとえば、サイトのタイトルや使用するデータベース)とアプリを共有することもできます。これは、たとえば、開発/ステージ/本番サイトですぐに使用できますが、何にでも拡張できます。複数のアプリで使用する中央パッケージを設定することもできます。強力で、簡単で、うまく機能します。

于 2011-10-19T17:36:30.897 に答える
1

Zendは、おそらくSymfonyやFuelでさえ、あなたが求めることを実行できると信じています。使用する部分を選択できる他の多くのフレームワークによって、これが可能になると確信しています。

ただし、これを行うには、すべてを実行するためにもう少し構成を行う必要があります。そういうわけで、私は自分のフレームワークを作成することになりました。

于 2011-10-12T20:32:04.247 に答える
1

多くの人がこれを行うことができます。たとえばYII、www-rootディレクトリ(httpdocs/var/www/またはそのようなもの)の外部にインストールする必要があります。複数のサイトを使用して、そのベースディレクトリを指すことができます。

サイトに特定の設定を必要としないフレームワーク(または一部)は、複数のサイト間で共有できると思います。

于 2011-10-12T20:35:34.247 に答える
1

symfonyはそうします。私はSymfonyフレームワークが大好きで、いくつかの素晴らしいフレームワークが付属しています。あなたはルーティングとYAMLのものが好きかもしれません。私が知っている人は、Symfonyを最高のphpフレームワークと呼んでいます。

symfonyコンポーネント

一部のコンポーネントには、独自の特定のサイトがあります

ここで本当に良いドキュメントを見つけることができます。

于 2011-10-12T20:41:56.740 に答える
1

Symfony2はあなたのニーズに適しています。これは、多くのスタンドアロンコンポーネントを備えたフルスタックフレームワークです。これは「バンドル」で機能します。バンドルは、完全なロジック(コントローラー、モデルオブジェクト、ビュー、アセット、構成など)を備えた一種のコンテナーです。つまり、1つのバンドルを作成すれば、問題なく再利用できます。

しかし、symfony1.4を検討することもできます。1つのプロジェクトで多くのアプリケーションを処理できるため、モデルはこれらのアプリケーション間で共有され、同じコードをすべてのアプリケーションで再利用できます。アプリケーションは完全なWebサイトである可能性があることに注意してください。

于 2011-10-12T20:42:41.633 に答える
0

これをネイティブに行うフレームワークは考えられませんが、いくつかのSVN(またはhgなど)リポジトリを使用してこれを実現できます。CakePHPの使用例:

  • 1つのリポジトリにはCakePHPのデフォルトファイルがあります。CakePHPを更新したい場合は、将来このリポジトリを更新します。
  • アプリフォルダ内のすべてを保存するウェブサイトごとに1つのリポジトリ。


組み込みの機能ではありませんが、セットアップもそれほど難しくありません。

于 2011-10-12T20:33:56.740 に答える