驚いたことに、Habréではこの注目すべきリソースはついつい言及されています。 この明らかなギャップを埋めます。
まず、 Aboutページの翻訳から始めます。
サイトについて
php.jsは、コミュニティが作成したPHP関数の代替JavaScriptを提供するサイトです。
Webブラウザー、node.jsなどのJavaScriptを備えたプラットフォームで高レベルのアクションを実行する場合は、おそらく低レベルの言語関数を組み合わせたJSコードに座ってビルドする必要がありますstrip_tags()、strtotime()、number_format()、wordwrap()、date()などの便利なものを取得します。
PHPは多くの高レベル関数を備えた言語ですが、それらが常に希望どおりに均一に実装されているわけではないという事実にもかかわらず(ほとんどの場合、Cで基礎となる関数を繰り返すため)、この言語この構文に慣れている膨大な数のフォロワーがいるので、そのAPIを基礎として採用するのは合理的であると同時に、私たちの生活を少し楽にすることができる独自のドキュメントを書く必要性から解放されます。
一方、JSの魅力的な機能に感謝しているので、JSを試してみることをお勧めします。 php.jsを、時間を費やしたくない言い訳として使用しないでください。 同じ理由で、PHP言語全体またはその制御構造のすべてを移植しません。 関数のみを選択しました。
一般的なポーティングを明確な呼び出しと見なし、JavaScriptが対応するもの(String.indexOf)を持っているという事実にもかかわらず、strposのような低レベルのPHP関数でさえも含めることにしました。 私たち自身の知的挑戦に加えて、そのような移植は、あらゆる種類のメンタルエクササイズの両方でphp.jsを開き、JSを学習する目的を果たすことを可能にします。 したがって、私たちは自分自身を一種の優れたリソースと見なし、開発者自身がここから何かを取得することが理にかなっているかどうかを判断できます。 そしてそうでないとき。
コラボレーション
コラボレーションには、 githubを使用します。 サイトのコメントはコメント専用です。 Wikiのガイドをお読みください。
php.jsの使用者
免許
php.jsには、MITとGPLのデュアルライセンスがあります。 これは、 MITライセンスまたはGNU Open License Agreement (GPL)バージョン2のいずれかの条件に従ってphp.jsを使用できることを意味します(著者のライセンスの比較分析 )
MITライセンスを使用すると、製品を配布するときに元のライセンスを保持している限り、商用プロジェクトであっても、このライブラリを適切な形式で使用できます。 実際、変更を開示する必要さえありませんが、これは非常に望ましいことであり、これに加えて、アップグレード後に変更が失われないという自信を与えます。 一方、GPLにより、このライブラリは他のGPLプロジェクトと互換性があります。
したがって、まず第一に、このプロジェクトはPHPとそのライブラリに精通している開発者にとって有用です。 大半の機能はブラウザで動作し、おそらくクライアント側のローカルファイルのメールとfopenのみがエラーを返します(これまでに行われたことと今後行われることについてはここで詳しく説明します 。ボランティア?!)。 しかし、何らかの理由でPHPに精通しておらず、プロジェクトでJSを使用している場合でも、このリソースは、少なくとも教育的な観点からは確実に役立ちます。 この記事を書いている時点では、 ライブラリには452個の関数しか含まれておらず、PHPのボリューム全体からは非常に遠い数字ですが、信じてください。選択できるものはたくさんあります。
サイトの各機能には、詳細なコメントと使用例が記載されています( PHPのネイティブドキュメントを忘れないでください)。 特定の関数のソースコードを取得するには、コードブロックの右上隅にある[githubで取得]リンクをクリックします。 すぐにすべてのソースを自分のものにすることをお勧めします。より便利です。 ライブラリは非常に広範囲に及ぶため、これらすべての機能を1つの大きなファイルに結合することは意味がなく、不必要に重くなります。 特定のプロジェクトのニーズに応じて、必要な機能を備えたライブラリを選択的に作成する必要があります。 また、グローバルな名前空間を混乱させないために、このAPIを何らかの種類のコンテナでラップすることを考えるのも理にかなっています。 さて、コードを最適化して圧縮してからブラウザに送信することを忘れないでください。
要約は次のように作成できます-php.jsは、プロジェクトの開発を簡素化/高速化できる優れたドキュメントを備えた安定した大規模なJSライブラリです。 味と色はすべてのマーカーが異なるため、このツールが武器庫にも表示されるようにします。 または、別のチタンバイクを調理してマホガニーの松葉杖を計画するのは面倒です。