ホームページ >バックエンド開発 >PHPチュートリアル >php7 カーネルのアップグレードにより、php 拡張機能を開発する場合、php5 と php7 の 2 つのバージョンを開発する必要がありますか?

php7 カーネルのアップグレードにより、php 拡張機能を開発する場合、php5 と php7 の 2 つのバージョンを開発する必要がありますか?

WBOY
WBOYオリジナル
2016-07-06 13:53:24966ブラウズ

Brother Niao のいくつかの拡張機能をチェックしましたが、それらはすべて php7 バージョンの拡張機能を作成するために新しく分岐されました。
swoole 拡張機能は php7-swapper.h を使用してパッケージ化されていますが、比較的言えば、php カーネルを使用しています。マクロを使うと操作が楽になります。

たとえば、php5 バージョン拡張子の下には次の定義があります:

リーリー

php7 拡張機能の改善に関する意見によれば、この構造は次のように変更する必要があります:

リーリー

ちょっと待ってください。を使用してパッケージ化するとコードの見た目が悪くなりますが、そうでない場合、2つのブランチで開発すると、毎回コードの2つのコピーを修正する必要があり、より面倒です。

何か良いアイデアがあるか分かりませんが、アドバイスをお願いします、ありがとう!

返信内容:

Brother Niao のいくつかの拡張機能をチェックしましたが、それらはすべて php7 バージョンの拡張機能を作成するために新しく分岐されました。
swoole 拡張機能は php7-swapper.h を使用してパッケージ化されていますが、比較的言えば、php カーネルを使用しています。マクロを使うと操作が楽になります。

たとえば、php5 バージョン拡張子の下には次の定義があります:

リーリー

php7 拡張機能の改善に関する意見によれば、この構造は次のように変更する必要があります:

リーリー

ちょっと待ってください、を使ってパッケージ化するとコードが見苦しくなりますが、これを行わずに2つのブランチで開発すると、毎回コードを2回修正するのがさらに面倒になります。

何か良いアイデアがあるか分かりませんが、アドバイスをお願いします、ありがとう!

ユーザー エクスペリエンスを向上させる最良の方法は、マクロを使用して記述することであり、ユーザーはバージョンを選択する必要がありません。もちろん、この方法で記述することの欠点は、PHP7 に付属するマクロのほとんどが依然として の記述方法に従っているにもかかわらず、2 つのコードが重なると混在してしまうことです。古いバージョン、ヒープ上のアプリケーション変数、参照メカニズムに関連するもの、およびその他の一般的に使用されるマクロが変更されているため、それらをマージして一緒に記述するのは非常に困難です。それが面倒な場合は、Brother Bird のように別々に記述してください。現在、ほとんどの拡張機能は最初に別々のモードで記述され、完成したら統合されます。

@有明 ありがとうございます。今は別々に書いて、php7 が完全に安定するまで待ってから見てみることにします。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。