PHP エキスパートになるにはどうすればよいですか? 、PHP の専門家?_PHP チュートリアル
PHP エキスパートになるにはどうすればよいですか? 、PHP の専門家ですか?
Quora での質問、Google グループ、ニュースレター、雑誌など、さまざまな PHP 関連のブログを閲覧していると、スキルの階層によく気づきます。質問は、「MySQL データベースに接続するにはどうすればよいですか?」または「新しいサーバーを導入せずに、1 時間あたり 10,000 件を超えるメールを送信できるように電子メール システムを拡張するにはどうすればよいですか?」に似ています。
私は、PHP のコンピテンシーレベルを、初心者、中級者、エキスパート、エリートの 4 つのレベル (どのプログラミング言語や専攻にも当てはまります) に分けています。レベル
PHP初心者向けに、変数の使い方、インクルードファイル、フォーム処理などを学びます。彼らは単純な論理構造を学びます。チュートリアルの指導を受けながら、PHPでメール送信を実装したり、よく分からないままオブジェクト指向プログラミングにも触れたりしました。いくつかの WordPress CSS ファイルを変更することもできます。この知識を武器に、彼らは仕事を探し始めますが、残念ながらたいてい失敗します。
専門家とは、多くのプロジェクトを経験し、豊富な経験を持っている人のことです。彼らは多くの商用アプリケーションを開発してきましたが、そのためにフレームワークを完全に使用しているわけではありません。彼らは、PHP を使用してさまざまなデータベースを効率的に開発できるだけでなく、会議を通じて問題の解決策について話し合うことができます。彼らは設計パターンに精通しており、プロジェクトのエンジニアリング図面をコードに簡単に実装できます。彼らは手続き型プログラミングから距離を置きます。
エリートプログラマーとは、専門的なスキルを磨くために10,000時間以上働いた人のことです。彼らは、ニーズに応じて PHP 拡張機能を作成でき、ソース コード ファイルを見るだけでバグを見つけることができ、コード レイアウトをよく理解できます。彼らは最も複雑なプロジェクトのみに取り組み、問題に対する代替的で創造的な解決策を見つけることができます。彼らはプログラミング言語に関する人気の書籍をいくつか執筆し、数十回の講義を行っており、独自のバージョンの PHP 言語や非常に成功したフレームワーク、あるいはその両方を持っている場合もあります。
では、中級者には誰が属するのでしょうか?
ミッシングリンク
初心者がプロになり、プロを超えるにはどうすればよいでしょうか?基本的な知識以上のことを何も知らない人が、どうやってスキルを向上させ、間違った開発方法を放棄し、より高度な開発方法を学ぶことができるでしょうか。この質問は多くの初心者から私に寄せられました。専門家になるためには、まず中級者にならなければなりません。
次のリストは、中級者になるために通過する必要がある PHP 学習の過程を示しています。
スパゲッティコードを捨てましょう
多くの人は、クラスを使用することはオブジェクト指向のコードを書くことを意味し、関数を使用することは手続き型のコードを書くことを意味すると考えています。しかし、これは誤りです。この観点を裏付けるために、手続き型コードはクラスとオブジェクトを使用しないコードであるのに対し、OOP コードはクラスとオブジェクトを可能な限り使用するコードである、という広く普及している定義を前提としています。
私の提案は、手続き型コードを完全に放棄することです。可能な限りオブジェクト指向スタイルでプログラムします。クラスを作成し、ロジックをカプセル化し、現実世界の用語の使用を検討します。プロシージャル コードのパフォーマンス上の利点は、適切な OOP コードがもたらす再利用性の利点や、将来の開発者がプロジェクトの作業を継続できる容易さに比べれば、見劣りします。この観点に対する反論は、「でも、WordPress は手続き型だ!」というものです。正直に言うと、これは少し厳しく聞こえるかもしれませんが、Instagram を持っていれば写真家になれるのと同じように、「WordPress 開発者」は実際には PHP 開発者ではありません。これを WP が役に立たないという意味に受け取らないでください。ブログ、単純なサイト、および 1 日の小さなプロジェクトの開発にあまり時間をかけないと予想される場合、WP での開発は素晴らしい結果をもたらします。急いでいる人やスキルがあまりない人には最適ですが、WP をマスターしてもプロの PHP 開発者になれるわけではありません。スパゲッティ コーディングが使用され、不適切な設計原則を教えることになります。
小さなことから始めましょう。現実世界の概念を考えて、それを OOP コードで表現してみます。いくつかの基本的なチュートリアルを実行して、ゆっくりと OOP に習熟してください。適切なフレームワークや「モデル」、「ビュー」、「コントローラー」などの混乱を招く用語に移行する前に、クラス全般を理解するまで OOP でコードを書くことに固執してください。これらの用語はすべて雲の中にあり、しっかりした基盤がありません。 OOPで。
既存プロジェクトの分析
見つかった既存のソースコードを深く掘り下げます。たとえば、Github で PHP プロジェクトをチェックアウトし、クローンを作成し、独自のホストにデプロイして、コードを読んでみてください。すべてのファイル、すべての行が、その動作を理解するまで続きます。
標準化された注釈、優れた構造、継続的な開発を備えたプロジェクトを探してください。 2008 年より前に更新されたプロジェクトは、PHP 5.5 を使い始める場合にはそれほど優れたものではありません。そうしないと、すでに過密な分野で目立つことができる PHP の最新かつ最高の機能を見逃してしまう可能性があります。
独自の PHP 開発環境を構築する方法を学びましょう
自分で環境を構築できるというのはとても良い能力です。独自の環境を構築すると、状況に応じて微調整ができるだけでなく、ソース コードから拡張機能を構築することに慣れることもできます。
Windows での開発を放棄する - 主要なデスクトップ環境が Windows の場合は、仮想化ソフトウェアをインストールし、Linux 仮想マシンを実行します - Windows では大文字と小文字が区別されず、行末などがほとんどのサーバーと一致しません 環境が一致しません、Windows で開発しても多くのトラブルが発生するだけなので、最終的にプロジェクトを実行するシステムで開発する方が良いでしょう。
仮想マシンは実験の実施にも役立ちます。何か問題が発生した場合は、最初からやり直すかロールバックできます。混乱を心配することなく、好きなだけ低価格で試すことができます。ツールを使いこなすことは重要ですが、適切に動作するプラットフォームを用意することも重要です。
自分で実験することで、Apache や Nginx、Appserver など、さまざまなサーバーに慣れることもできます。
ベストプラクティスをできるだけ早く実装する
コードを記述するときは、十分なドキュメント コメント、適切なインデント、適切な構造があることを確認してください。クラス、プロジェクト、またはライブラリを構築するときは、よく知られているドキュメント ツール (PHPDocumentor、ApiGen) を使用してドキュメントのコメントを抽出し、それらを改善します。
優れた IDE も非常に価値があります。クロスプラットフォーム エディターを使用すると、いつでも新しい開発環境をセットアップでき、キーボード ショートカットやテーマの変更に時間を費やすことなく、コードの作成に集中できます。いつでも新規インストール用に構成ファイルをインポートできるように、IDE の構成ファイルを Google Cloud Services などの場所にバックアップしてください。優れた IDE は PHPStorm です。それを買う余裕がない場合、または無料ライセンスを必要とするオープンソース プロジェクトがない場合は、Netbeans が良い選択であり、どちらもクロスプラットフォームです。
ベスト プラクティスを早期に実装すると、コードの一貫性が維持され、他の人がコードをよりスムーズに読むことができます。自分のスタイルを見つけて、それを貫くことで、自分自身だけでなく他の人も助けることができます。 PSR 標準 (PSR-0、PSR-1、PSR-2、PSR-3) に従うようにしてください。これらの標準には理由があります。私たちのほとんどは、誰もがコードを再利用可能で読みやすいものにするこれらの標準を使用し、愛用しています。
初心者向けの継続的に更新される優れたリソースは、正しい方法での PHP です。これを学ぶと、最新のプラクティス、基本的な OOP、セキュリティ、デプロイメント、コーディング標準など、これまでに述べた内容に慣れることができます。
さまざまなフレームワークを試して 1 つ選択してください
長い間、PHP はほとんどのフレームワークで使用されている言語でした (最近では JavaScript が最もよく使用されています)。これが私たちのコミュニティを反映しているのか、それとも言語の人気に一貫性がないのかはわかりませんが、特に初めて始める場合、フレームワークの選択が困難な作業になる可能性があるという事実は変わりません。
ほとんどのフレームワークを試した結果、Phalcon フレームワークを心からお勧めできます。その理由は、そのまともな堅牢性と品質、そして C で書かれ、PHP の拡張機能としてインストールされているという事実です (したがって、現在の Any フレームワークよりもはるかに優れているはずです)。もっと早く)。ただし、さまざまなフレームワークを自分で試してみる価値はあります。
さまざまなフレームワークを試してみると、同じ問題を新しい方法で解決できることがわかります。各フレームワークには、好きな長所と嫌いな短所がありますが、より重要なのは、他の人 (特にフレームワークの開発者) の考え方について学ぶことです。新しい使用法とアプローチがわかります。ベスト プラクティスは、できるだけ多くのフレームワークを使用して同じ実験プロジェクトをリファクタリングすることです。これは、特定のフレームワークの有効性、つまり、それを使用した開発の速度とそのパフォーマンスを効果的に測定するのに役立ちます。
他の人のヒントやコツを過小評価しないでください。できるだけたくさん読んでください。読み続ければ、思っているほど時間はかかりません。優れたブログを見つけてフォローし、サイトのガイドを読み、StackOverflow の質問と回答を閲覧し、SitePoint フォーラムにアクセスし、ニュースレターを購読し、Google+ で優れたリソースをフォローします。基本的な PHP チュートリアル本は出版された時点では古くなっているため、避けてください。代わりに、最新のコードが含まれるオンラインで見つけられるスニペットやガイドに焦点を当ててください。すでに研究したトピックに出会った場合でも、それについて読んでみてください。同じテーマに関する他の人の視点を読むことで、何か新しい発見があることがよくあります。
何もないなら何か作ってみよう
やるべきことは必ずある。 「取り組むプロジェクトがない」とか、さらに悪いことに「退屈だ」などとは決して言わないでください。進行中のプロジェクトがない場合は、作成してください。毎日使用しているツールの機能が不完全なためにイライラしていませんか?もっと良いものを自分で作ってください!新製品のアイデアはありませんか?次に、既存のコピーを作成します。練習できるように、基本的な FaceBook を再構築したり、すでに知っているものを再構築したりしてみてください。
最も重要なことは決して止まらないことです。1 時間を大切にしないと 10,000 時間も蓄積できません。良い仕事を続けて、興味と関心を持ち続けてください。簡単なアドレス帳アプリケーションを作成します。次に、別のフレームを使用して再構築します。そして、別のデータベースを使用してください (例: MariaDB の代わりに Mongo)。忙しくしてください!
パートナー/メンターを探す
誰かと一緒にいると勉強が楽になります。あなたの情熱を分かち合うパートナーを見つけてください。おそらくあなたは、独自の興味を共有するパートナーがすでにいる幸運な数少ない人の一人かもしれません。もしかしたら、学校や大学に、一緒に仕事を始めて一緒に頑張りたいという仲間がいるかもしれません。メンターを見つけて専門家から指導を受けることもできます。
パートナーの力を過小評価しないでください。もしあなたが 3 人組なら、必ず教えてくれる人がいるはずです!
概要
これらすべての項目に焦点を当て、可能な限りそれらをマスターし、これが自分が望んでいることであると認識したら、それを続けてください。あなたは上級 PHP 開発者への道を進んでいます。自分の原則を維持し、決して諦めず(たとえ周りの人が諦めたとしても)練習を続けてください。
有用なリソースをお持ちで、中級開発者の障壁をどのように乗り越えた(または現在乗り越えている)かを私たちと共有したい場合は、以下にコメントを残してお知らせください。
原文リンク: SitePoint 翻訳: Bole Online - rokety
PHP は敷居が低いですが、その上限に達した人はどれくらいいるでしょうか?
PHP の基本スキルを学ぶことは非常に重要です。 データ構造について学習した経験があることが最善です。
1歳か2歳の初心者向け。
smarty+pear+adodb+xml+ajax+jquery (プロトタイプ)を2年以内に完全にマスターする必要があります
その後、discuz、zendcartなどの国内外のオープンソースコードの分析に熟練することをお勧めします
ツールは必須ですzend スタジオの開発に熟練していること。
データベースは mysql と sqlserver に精通している必要があります
オペレーティング システムは liunx をある程度理解している必要があります。そして環境を構成することができます。
Apache の管理者マニュアルも購入して、よく読んでください。
上記は2年以内に習得しなければならない内容です。この時点で基本的には始められます。 3 年目では、ユニットに行って何かをするのは難しくありません。.NET や JAVA の開発経験がない場合は、それを補ってください。 .NET と JAVA の考え方は PHP よりもはるかに成熟しているため、SQLSERVER を学習することは、mysql の使用レベルを向上させることにもなります。データベースは、単にテーブルを作成してクエリを実行するだけではありません。
そこで、建義の 3 年目には、アイデアとデータベースに関するコンテンツをさらに追加しました。ただし、最初の 2 年間は視聴しないという意味ではありません。つまり、3年目はそれ以上です。 現時点では、PHP の基本的な部分の多くはすでに理解しているため、一方的な改善ではなく、全体的な改善が必要になるからです。
現時点では、アーキテクチャの問題を考慮する必要があります。
大規模プロジェクトを展開する4年目。負荷やファイルの分散、セキュリティなどの導入上の問題が次々と発生しています。現時点では、ファイル サーバー クラスターとは何か、Web サーバー クラスターとは何か、データベース クラスターとは何かなどを理解するために懸命に努力する必要があります。では、コーディングを改善するための要件、セキュリティ要件などは何でしょうか。
php 鍵となるのは永続性です。まず基本的な文法を学び、良い習慣を身に付け、(変数を) 設定解除することを学び、オブジェクト = NULL を学びます。ランプ ワンプの設定方法を学び、開発ツール NB、zend スタジオの使い方を学びます...その後、関数百科事典 mysql オブジェクト指向プログラミング手法を読み、PHP コードを最適化する方法、SQL クエリ、smarty テンプレート エンジン、mvc フレームワークなどを最適化する方法を学びます。国内の thinkphp は非常に優れており、より軽量な中国語情報が含まれており、zend フレームワーク (非常に巨大なフレームワーク) memcached に準拠しています。 php cliのバックグラウンドサービスを使用します。 ハイエンドになりたい場合は、C を学習してください。これを使用して PHP 拡張機能を開発し、Facebook のヒップホップ PHP を学習します (PHP を C++ に変換するプロジェクトにより、PHP の速度は C で直接書かれた CGI に限りなく近づきます)。 ... 学ぶ 後で、PHP は思っているほど単純ではなく、学習に終わりがないことがわかります (PHP 5.3 が名前空間をサポートし始めた後で確認する必要があります) 夜は少し面倒でしたが、それは問題ありません。基本的には、学習したい場合は、ためらわず、他の人の言うことを信用しないでください。なぜ PHP は小規模なプロジェクトにのみ適しているのでしょうか? Tencent が新しく開発した Friends Network は、すべて PHP で書かれています。 PHP。
忘れずに採用してください

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
