私は現在、ユーザーのログイン時にいくつかの定数を定義する既存のアプリケーションを使用しています。たとえば、アリスがログインする場合SOME_CONSTANT
は、として定義され1
、ボブがログインする場合SOME_CONSTANT
はとして定義され2
ます。今、私はそれがアリスであるかのようにいくつかのことをし、それがボブであるかのようにいくつかのことをするスクリプトを書こうとしています。「あたかもそうであるかのように」とは、SOME_CONSTANT
ある反復に対して1つの方法で定義され、次の反復に対して別の方法で定義されることを意味します。残念ながら、定数は値の切り替えに最適ではなく、アプリケーションをリファクタリングしてこれらを定数から変更することは、現時点ではオプションではありません。
私が検討した1つの方法は、pcntl_fork()を使用することでした。定数が定義される前にフォークして、定数ごとに個別のプロセスを実行しました。ただし、このスクリプトをLinuxだけでなくWindowsでも実行できるようにしたいと思います。現時点では、pcntl拡張機能はWindowsでは直接サポートされていません。そして、私がそれを助けることができれば、Cygwinを介してすべてが機能することを避けるように努めます。
私が検討したもう1つの方法は、スクリプトで.を使用して子スクリプトを呼び出すことexec("php childscript.php constant_value")
でした。このメソッドでは、1つの子スクリプトで定数を定義し、別の子スクリプトで別の方法で定義できますか?すべきだと思いますが、まだテストしていません。また、この方法で誰かが見ることができる他の大きな問題はありますか?
私が考えていなかった別の方法がより良い選択になるでしょうか?お時間をいただきありがとうございます。