PHP7 を見据えて: PHP_PHP チュートリアルで変更する必要があるもの
プログラマーは (一般に) 優れたプログラミング言語を、自分が最もよく知っている言語、または最も頻繁に使用する言語と定義します。私は PHP プログラマー、ジョンは JavaScript プログラマー、DHH は Ruby プログラマー、Schwartz と Randall は Perl プログラマーです。 プログラマーによって問題の見方は異なりますが、総合的に最良とみなされるプログラマーは常に 1 つまたは 2 つあります。
PHP 開発者として、PHP が軽視されているのを聞くたびに心が痛みます。
Web アプリケーションの言語として PHP を使用する必要がありますが、これは悪い言語であり、その使用を必要以上に推奨したりサポートしたりすべきではありません。
おっと、私が毎日使っている言語が悪い評価をされていると聞くと、自分が選んだ言語について、自分が同意していれば他人の評価は気にしなくていい、と言う人もいるかもしれません。本当にそうすべきではないと思います。この発言が意味するのは、言語と開発者がひどいだけでなく、私たち PHP 開発者もひどいということです。
それでは、他人の大きな口を封じるために具体的に何をすべきでしょうか? PHP 言語を尊重できるようになるのでしょうか? これを実現できるいくつかの側面を分析してみましょう。
1. すべてを壊す
PHP7 はすべてを壊します。 PHP 開発者は、バージョン間の下位互換性を破壊するという法則を受け入れる必要があります。広範な下位互換性が許可されない限り、PHP7 は非常に尊敬される言語となるでしょう。
1. 特定のコア言語を作成します
すべてのライブラリ メソッドを削除し、オブジェクト セット内のコア メソッドを保持します。 外部ライブラリや拡張機能を使用せずに、基本的な入出力、文字列処理、および数学のための優れた完全な言語を作成できる PHP7 を作成できるはずです。ライブラリ外の拡張は承認される必要があります。
2. すべてをオブジェクトとして扱います
Ruby、Smalltalk、および (主に) Java からオブジェクトを取得し、それをすべてオブジェクトとして扱います。 整数はオブジェクトであり、文字列はオブジェクトであり、それぞれに操作可能なメソッドがあります。Ruby と Smalltalk がオブジェクト間でメッセージを渡す必要があり、オブジェクト メソッドを呼び出すことが最善であるという概念が PHP には必要ないと思います。
3. 一貫した名前のメソッドとクラス
PHP に関する最大の不満の 1 つは、(needle,haystack) または (haystack, neede) または some_function() または function_some() を常にチェックしなければならないことです。 someFunction() を使用するには、一貫した形式を開発する必要があります。
4. 厳密にしてください
float 文字列をメソッドに渡してみませんか? これは警告です。
5. すべてが Unicode です
PHP6 のすべての文字列が Unicode であることは良いことであり、私は PHP7 も維持されるべきだと主張します。
6. 中心的な起動ポイント
すべてのコード実行の起点となるメインクラスまたは初期化を作成します。
7. C コードをクリーンアップする
私は C の専門家ではありませんが、PHP の C コードよりも Ruby の C コードについて詳しく知っていれば、PHP と Ruby の内部を簡単に理解できます。 私は PHP に精通しているので、独自の拡張機能を作成する方が簡単です。
8. eval() を取り除く
eval() は悪です。 これを使用している場合、これは間違った考えです。これにより PHPUnit が壊れます。今後は破棄してください。
9. 演算子のオーバーロードをサポート
すべてがオブジェクトであるため、開発者はオブジェクトを操作するメソッドを習得するだけで済みます。
10. 許可されるメソッド シグネチャ
真のメソッド シグネチャを許可するため、プログラマは異なるパラメータ リストまたは戻り値の型を持つ同じ名前のメソッドを持つことができます。
<ol class="dp-c"> <li class="alt"><span><span class="keyword">class</span><span> A { </span></span></li> <li> <span class="keyword">public</span><span> int </span><span class="keyword">function</span><span> doSomething(int </span><span class="vars">$a</span><span>, float </span><span class="vars">$b</span><span>) { </span> </li> <li class="alt"> <span class="comment">// Same as $a->*($b->to_int()); </span><span> </span> </li> <li> <span>int </span><span class="vars">$c</span><span> = </span><span class="vars">$a</span><span> * </span><span class="vars">$b</span><span>->to_int(); </span> </li> <li class="alt"> <span class="keyword">return</span><span> </span><span class="vars">$c</span><span>; </span> </li> <li><span>} </span></li> <li class="alt"> <span class="keyword">public</span><span> float </span><span class="keyword">function</span><span> doSomething(int </span><span class="vars">$a</span><span>, float </span><span class="vars">$b</span><span>, float </span><span class="vars">$c</span><span>) { </span> </li> <li> <span class="comment">// Same as calling $a->*($b->*($c)); since * is a method on each object $a and $b. </span><span> </span> </li> <li class="alt"> <span>float </span><span class="vars">$d</span><span> = </span><span class="vars">$a</span><span> * </span><span class="vars">$b</span><span> * </span><span class="vars">$c</span><span>; </span> </li> <li> <span class="keyword">return</span><span> </span><span class="vars">$d</span><span>; </span> </li> <li class="alt"><span>} </span></li> <li><span>} </span></li> </ol>
11. PHP 仮想マシン (PVM) を構築する
私は言語設計者ではないので、これが可能かどうかは完全にはわかりませんが、PHP 仮想マシンがあればいいでしょう。 PHP バイトコードを実行でき、明示的なヒープとスタックが可能です。
12. コピーオンライト (COW) の削除
COW は非常に馴染みのない概念であり、その存在を知らないと、新しい開発者にとって問題が発生する可能性があります。
13. PHP 公式リリース仕様
W3C HTML5 仕様と同様に、PHP 仕様では、開発者が独自のバージョンの PHP を実装し、コンパイルする特定のサンプルが存在することを保証します。
2. 言語を尊重する
私たちは言語を尊重するよう努めるべきです。 私たちは、非常に強力な機能を備えた PHP7 を開発する開発者を募集するために最善を尽くすべきです。 私たちは巨大なコードを安全かつ読みやすくし、新しい開発者に正しい方法でプログラミングすることを教える必要があります。
Ruby の狂気については知りませんが、Ruby 言語を尊敬しています。 私は Ruby on Rails の威力を認めていますし、Ruby on Rails は非常に優れたフレームワークだと考えていますが、私の好みではありません。評判の良い開発者からの認知や尊敬を得ることができれば、PHP はさらに進化するでしょう。
3. 開発者を尊重する
上記の理解から、私たちは非常に尊敬される PHP 開発コアチームを必要としています。 彼らはコードをリリースし、講演し、物事の「正しい方法」を人々に示し、このチームはすぐに多くの開発者の尊敬を得るでしょう。
結論
PHP の将来に興奮しています。 私のアイデアが実現されるかどうかは非常に疑わしいですが、社会全体に役立つと心から信じています。 世界第 2 位の Web サイトが、PHP による素晴らしいコミュニティの構築を支援していると発表したとき、私はとても興奮しました。 PHP は消えることはなく、改良に努め続ける限り、いつかは PHP が開発者から一般的に尊敬される言語になるでしょう。
最後に、私は言語デザイナーではありません。 私のアイデアはまったくナンセンスだと思われるかもしれません。 私のどこかが間違っている場合は、丁寧にお知らせください。喜んでお話しします。 PHP が高く評価され、強力で高速かつ効率的な言語になるよう、協力していきましょう。コンパイルにエラーがある場合は、修正してください。

この記事では、PHPについて説明し、その完全なフォーム、Web開発での主要な使用、PythonとJavaとの比較、および初心者の学習のしやすさについて説明します。

PHPは、$ \ _ postおよび$ \ _を使用してフォームデータを処理し、検証、消毒、安全なデータベースインタラクションを通じてセキュリティを確保します。

この記事では、PHPとASP.NETを比較して、大規模なWebアプリケーション、パフォーマンスの違い、セキュリティ機能への適合性に焦点を当てています。どちらも大規模なプロジェクトでは実行可能ですが、PHPはオープンソースであり、プラットフォームに依存しませんが、ASP.NET、

PHPの症例感度は変化します:関数は鈍感であり、変数とクラスは感度があります。ベストプラクティスには、一貫した命名と、比較のためにケース非感受性関数を使用することが含まれます。

この記事では、PHPのページリダイレクトのさまざまな方法について説明し、ヘッダー()関数に焦点を当て、「すでに送信されているヘッダー」エラーなどの一般的な問題に対処します。

記事では、PHPでヒントを示すタイプについて説明します。これは、機能内の予想データ型を指定する機能です。主な問題は、タイプの施行を通じてコードの品質と読みやすさを改善することです。

この記事では、PHPのデータベースアクセスの拡張機能であるPHPデータオブジェクト(PDO)について説明します。これは、データベースの抽象化やより良いエラー処理など、準備されたステートメントとMySQLIに対する利点を通じてセキュリティを強化する上でのPDOの役割を強調しています。

記事では、PHP APIの作成とセキュリティについて説明し、LaravelなどのフレームワークやBest Security Practicesなどのフレームワークを使用して、エンドポイントの定義からパフォーマンスの最適化までの手順を詳細に説明します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









