私はアイデアに取り組んでいましたが、誰かにそれを実行して、私が深いところから外れたかどうかを確認する必要がありました.
私はかなり複雑な PHP プロジェクトに取り組んでいます。開発者は私だけです。プログラミング作業を手伝ってくれる人を雇おうとしていますが、初日ですべてを見てもらいたくありません。「コア アーキテクチャ」と「非コア」の間には明確な境界線があります。新しい人が「非コア」セクションを読んで変更できるようにしてほしい. 非コアが機能するには、コア セクションが必要です。
私の計画はこれです:
- Core セクションと Non-Core セクションを別々の git リポジトリにする
- Core セクションを Non-Core のサブモジュールにする
- コミット後のフックを Core リポジトリに追加して、コードの難読化を実行します
その後、サブモジュールが更新されると、ファイルは実行されますが、読み取りが非常に困難になります。
#1と#2はかなり簡単です。しかし、#3...それができるかどうかさえわかりません。ファイルが実際にどのように保存されているかを確認するために、gitの内部を調べていましたが、ファイルシステムに保存されているようです。したがって、「良い」コピーを完全に破棄することなく、それらを編集して難読化を追加する方法はありません。そうは言っても、そこに別のレポをデイジーチェーンすることはいつでもできます。
良いレポ -> コアレポ (難読化あり) -> 非コア
これを行うためのよりクリーンな方法があるかどうか疑問に思っています。
別の考えですが、難読化されたコードのリポジトリを使用できませんでした。代わりに、git commit フックでスクリプトを呼び出して、コア コードをコピーして難読化し、非コア リポジトリに配置します。フォルダーが非コア コードベースの一部にならないように、.getignore を追加します。