検索
ホームページバックエンド開発PHPチュートリアルPHP エキスパートになる: 失われたリンク

PHP プロフェッショナルになる: ミッシング リンク

この投稿は、「PHP プロフェッショナルになる」シリーズ 4 つのうちの 1 つ目です。

Quora での質問、Google グループ、ニュースレター、雑誌など、さまざまな PHP 関連のブログを閲覧していると、スキルの階層があることによく気づきます。質問は、「MySQL データベースに接続するにはどうすればよいですか?」または「新しいサーバーを導入せずにメール システムを拡張して 1 時間あたり 10,000 件を超えるメールを送信するにはどうすればよいですか?

を使用します。」レベルは、初心者、中級者、エキスパート、エリートの 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 が最も人気があります)。これが私たちのコミュニティを反映しているのか、それとも言語の人気に一貫性がないのかはわかりませんが、特に初めて始める場合、フレームワークの選択が困難な作業になる可能性があるという事実は変わりません。

ほとんどのフレームワークを試してみたので、堅牢性、品質、そして C で書かれていて PHP の拡張機能としてインストールされているという事実から、Phalcon フレームワークを心からお勧めできます (したがって、現在存在するどのフレームワークよりも高速です) )。ただし、さまざまなフレームワークを自分で試してみる価値はあります。

さまざまなフレームワークを試してみると、同じ問題を新しい方法で解決できることがわかります。各フレームワークには、好きな長所と嫌いな短所がありますが、より重要なのは、他の人 (特にフレームワークの開発者) の考え方について学ぶことです。新しい使用方法とアプローチがわかります。ベスト プラクティスは、できるだけ多くのフレームワークを使用して同じ実験プロジェクトをリファクタリングすることです。これは、特定のフレームワークの有効性、つまり、それを使用した開発の速度とそのパフォーマンスを効果的に測定するのに役立ちます。

他の人のヒントやテクニックを過小評価しないでください。できるだけたくさん読んでください。読み続ければ、思っているほど時間はかかりません。優れたブログを見つけてフォローし、サイトのガイドを読み、StackOverflow の質問と回答を閲覧し、SitePoint フォーラムにアクセスし、ニュースレターを購読し、Google の優れたリソースをフォローします。基本的な PHP チュートリアル本は出版された時点では古くなっているため、避けてください。代わりに、最新のコードが含まれるオンラインで見つけられるスニペットやガイドに焦点を当ててください。すでに研究したテーマに出会った場合でも、それについて読んでみてください。同じテーマに関する他の人の視点を読むことで、何か新しい発見があることがよくあります。

やることがないなら、何かを作ってみよう

やることは必ずある。 「取り組むプロジェクトがない」とか、さらに悪いことに「退屈だ」などとは決して言わないでください。進行中のプロジェクトがない場合は、作成してください。毎日使用しているツールの機能が不完全なためにイライラしていませんか?もっと良いものを自分で作ってください!新製品のアイデアはありませんか?次に、既存のコピーを作成します。基本的な FaceBook を再構築して、すでに知っているものを練習できるように再構築してみてください。

最も重要なことは決して止まらないことです。1 時間を大切にしないと 10,000 時間は蓄積できません。良い仕事を続けて、興味と関心を持ち続けてください。簡単なアドレス帳アプリケーションを作成します。次に、別のフレームを使用して再構築します。そして、別のデータベースを使用してください (例: MariaDB の代わりに Mongo)。忙しくしてください!

パートナー/メンターを見つける

誰かと一緒にいると学習が容易になります。あなたの情熱を分かち合うパートナーを見つけてください。おそらくあなたは、独自の興味を共有するパートナーがすでにいる幸運な数少ない人の一人かもしれません。もしかしたら、学校や大学に、一緒に仕事を始めて一緒に頑張りたいという仲間がいるかもしれません。メンターを見つけて専門家から指導を受けることもできます。

パートナーの力を過小評価しないでください。3 人組なら、必ず先生がいます!

概要

これらすべての項目に焦点を当て、可能な限りそれらをマスターし、これが自分が望んでいることであると認識したら、頑張ってください - あなたはその道を進んでいます。上級 PHP 開発者になる途中です。自分の原則を維持し、(たとえ周りの人が諦めたとしても)決して諦めず、練習を続けてください。

役立つリソースをお持ちで、開発者の中級者の壁をどのように乗り越えたのか (または越えつつあるのか) を私たちと共有したい場合は、以下にコメントを残してお知らせください。

元のリンク: SitePoint 翻訳: Bole Online - rokety

1FTris
見て学んでください! 🎜>
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
絶対的なセッションタイムアウトとアイドルセッションのタイムアウトの違いは何ですか?絶対的なセッションタイムアウトとアイドルセッションのタイムアウトの違いは何ですか?May 03, 2025 am 12:21 AM

絶対セッションのタイムアウトはセッションの作成時に開始され、アイドルセッションタイムアウトはユーザーの操作なしに開始されます。絶対セッションタイムアウトは、金融アプリケーションなど、セッションライフサイクルの厳格な制御が必要なシナリオに適しています。アイドルセッションタイムアウトは、ソーシャルメディアなど、ユーザーが長い間セッションをアクティブに保つことを望んでいるアプリケーションに適しています。

セッションがサーバーで機能していない場合、どのような措置を講じますか?セッションがサーバーで機能していない場合、どのような措置を講じますか?May 03, 2025 am 12:19 AM

サーバーセッションの障害は、手順に従って解決できます。1。セッションが正しく設定されていることを確認するために、サーバーの構成を確認します。 2.クライアントCookieを確認し、ブラウザがそれをサポートしていることを確認し、正しく送信します。 3. Redisなどのセッションストレージサービスを確認して、それらが正常に動作していることを確認します。 4.アプリケーションコードを確認して、正しいセッションロジックを確認します。これらの手順を通じて、会話の問題を効果的に診断および修復し、ユーザーエクスペリエンスを改善することができます。

session_start()関数の重要性は何ですか?session_start()関数の重要性は何ですか?May 03, 2025 am 12:18 AM

session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

セッションクッキーにHTTPonlyフラグを設定することの重要性は何ですか?セッションクッキーにHTTPonlyフラグを設定することの重要性は何ですか?May 03, 2025 am 12:10 AM

HTTPonlyフラグを設定することは、XSS攻撃を効果的に防止し、ユーザーセッション情報を保護することができるため、セッションCookieにとって重要です。具体的には、1)HTTPONLYフラグは、JavaScriptがCookieにアクセスするのを防ぎます。2)Flagは、PHPとFlaskのSetCookiesとMake_Responseを介して設定できます。

PHPセッションはWeb開発でどのような問題を解決しますか?PHPセッションはWeb開発でどのような問題を解決しますか?May 03, 2025 am 12:02 AM

phpsessionssolvetheprobrof of maintainsea crossmultiplehttprequestsbyStoringdataontaonsociatingitiTauniquesessionid.1)それらは、通常はヨーロッパの側面、および一般的には、測定されている

どのデータをPHPセッションに保存できますか?どのデータをPHPセッションに保存できますか?May 02, 2025 am 12:17 AM

phpssionscanStorestrings、numbers、arrays、andobjects.1.strings:textdatalikeusernames.2.numbers:integersorfloatsforcounters.3.arrays:listslikeshoppingcarts.4.objects:complextructuresthataresialized。

どのようにPHPセッションを開始しますか?どのようにPHPセッションを開始しますか?May 02, 2025 am 12:16 AM

tostartaphpsession、outsession_start()atthescript'sbeginning.1)placeitbe foreanyouttosetthesscookie.2)usesionsionsionsionserdatalikelogintatussorshoppingcarts.3)再生セッションインドストップレベントフィックスアタック

セッションの再生とは何ですか?また、セキュリティをどのように改善しますか?セッションの再生とは何ですか?また、セキュリティをどのように改善しますか?May 02, 2025 am 12:15 AM

セッション再生とは、新しいセッションIDを生成し、セッション固定攻撃の場合にユーザーが機密操作を実行するときに古いIDを無効にすることを指します。実装の手順には次のものが含まれます。1。感度操作を検出、2。新しいセッションIDを生成する、3。古いセッションIDを破壊し、4。ユーザー側のセッション情報を更新します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター