現在の需要シナリオは次のとおりです:
wordpress、discuz などのさまざまなオープンソース cms システム上で実行される拡張機能を開発しています。
ユーザーが当社の製品をインストールして使用すると、新しいバージョンが発行され、ユーザーがボタンをクリックすると、すぐに新しいバージョンにアップグレードされます。ユーザーからは満足の声が寄せられました。
ユーザーは満足していますが、ここでこのアクションを完了するには、各オープンソース cms の自動アップグレード システムを開発する必要があります。以前にこのシステムを開発したことがありますが、バージョンを比較したり、ファイルをダウンロードしたりするのは非常に面倒です。単一の cms で十分ですが、将来的にはこの一連の cms に対応するものを開発する必要があります。だから仕事量は膨大です。そこで、全てのCMSシステムに適用できる共通の仕組みを開発したいと考えていますが、何か良い方法はないでしょうか?
——————————————————————————————————————
今、アイデアがあります。まず第一に、この機能の実装の難しさは、php ファイル自体を置き換えることができないことです。つまり、この実行中の php ファイル自体を削除したり、自身のソース コードを変更したりすることは不可能です。
つまり、他を変更する役割を果たすファイルが存在するはずです。自分のことは変わらない、自分の存在は他人を変えるためにある。
たとえば、この拡張子の下に 3 つのファイル a、b、c があります。ユーザーがアップグレードをクリックすると、c ファイルに直接アクセスして実行するための ajax リクエストが送信され、c ファイルは他のファイルに依存せずに独立して実行されます。このようにして、ファイル a と b を変更したり削除したりできるため、すべての cms 拡張子について、各ディレクトリにファイル c を置くだけで済み、これで問題ありません。仕事量は飛躍的に減りましたか?
この解決策は実現可能ですか?
現在の需要シナリオは次のとおりです:
wordpress、discuz などのさまざまなオープンソース cms システム上で実行される拡張機能を開発しています。
ユーザーが当社の製品をインストールして使用すると、新しいバージョンが発行され、ユーザーがボタンをクリックすると、すぐに新しいバージョンにアップグレードされます。ユーザーからは満足の声が寄せられました。
ユーザーは満足していますが、ここでこのアクションを完了するには、各オープンソース cms の自動アップグレード システムを開発する必要があります。以前にこのシステムを開発したことがありますが、バージョンを比較したり、ファイルをダウンロードしたりするのは非常に面倒です。単一の cms で十分ですが、将来的には、この一連の cms に合わせて開発する必要があります。 、それは大変な作業です。そこで、全てのCMSシステムに適用できる共通の仕組みを開発したいと考えていますが、何か良い方法はないでしょうか?
————————————————————————————————————
今、アイデアがあります。まず第一に、この機能の実装の難しさは、php ファイル自体を置き換えることができないことです。つまり、この実行中の php ファイル自体を削除したり、自身のソース コードを変更したりすることは不可能です。
つまり、他を変更する役割を果たすファイルが存在するはずです。自分のことは変わらない、自分の存在は他人を変えるためにある。
たとえば、この拡張子の下に 3 つのファイル a、b、c があります。ユーザーがアップグレードをクリックすると、c ファイルに直接アクセスして実行するための ajax リクエストが送信され、c ファイルは他のファイルに依存せずに独立して実行されます。このようにして、ファイル a と b を変更したり削除したりできるため、すべての cms 拡張子について、各ディレクトリにファイル c を置くだけで済み、これで問題ありません。仕事量は飛躍的に減りましたか?
この解決策は実現可能ですか?
私は一般的なアイデアを考えました:
まず、メジャー バージョン アップデートとパッチ アップデートに分けることをお勧めします。メジャー バージョン アップデートがより複雑な場合は、ファイルをダウンロードして手動でファイルを上書きする必要があります。
マイナー バージョン アップデートにより、一般的なアップデート展開方法を構築できます:
クライアントは、アップデートを処理するために中央のサーバー側インターフェイスまたはエントリ ファイルへのリクエストを均一に更新し、エントリ ファイルを通じて、ローカル環境に基づいてアップグレード パッケージが動的に生成されます。デプロイされた JSON 構成ファイルと同様に、クライアントは受信後に JSON を読み取り、データベースをアップグレードし、ファイルを置き換えます。このようにして、サーバーはさまざまな CMS アップグレード ルールを継続的に維持するだけで済みます。バージョンアップ後。
そうは言っても、仕事量はまだまだ膨大です!
composer
!composer
!composer
!!!!!!!!!!
私の考えは本当に硬いです。
PHP自体を変更することはできないため、設定ファイルまたはデータベースを変更すると問題は解決します。