初めて PHP に触れたとき、その美しさに感動し、制御することができませんでした。
多くの面接や人材の能力要件には「PHP シニア エンジニア」という言葉が含まれています。PHP が本当に好きで、まだ始めたばかりの場合、シニア PHP エンジニアが持つべきものについて、後輩や後輩に伝えたいと思います。 PHP エンジニアの中級レベルに達した人は少し助けてください。
1. 心を落ち着かせる
すべてのプログラマーと同様に、良いプログラムを書くには良い精神が必要です。
何かが起こっても焦らず、簡単に諦めないでください。
プログラム開発の過程で、特に初級および中級のプログラマーが作成するプログラムや構造は、比較的弱い問題もあれば、まったく遭遇したことのない問題もあるでしょう。したがって、あまり焦りすぎる必要はありません。問題の元の原因を 1 つずつ調査し、削除する必要があります。焦った姿勢でシステム開発をするのはプロジェクトに対して無責任です。焦りは人々に間に合わせることを学び、人々は逃げることを学びます。北京での 2 年間のシンプルな生活は私に最も大きな経験の 1 つを与えてくれました。それは、私の精神がより穏やかになったことです。
このような考え方は、他の面に対処する能力にも役立つと信じています。
なぜそこにメンタルが含まれるのかということを説明したいと思います。これは、多大な情熱を必要とする営業とは異なり、静かな思考を必要とします。
2. よくある問題解決のアイデアのセット
プログラム開発の同僚はかつて、QQ の署名にこう書きました。バグが解決されるたびに、自分自身を改善してください。実際、無数のバグや問題を実際に解決していないプログラマーは、専門家や上級プログラマーとは言えません。そして、上級プログラマーはこの問題解決プロセスから常に自分自身を鍛え、慣れ親しんだ問題解決のアイデアを形成していくのですが、それには強いことが求められます。
また、PHP プログラマーが大人になってからよく遭遇するいくつかの問題についても簡単に説明します。もしあなたがそのような問題に一度も遭遇したことがないか、めったに遭遇しないのであれば、あなたは初心者か上級者のどちらかです (笑)。
1. コーディングの問題
2. PHP と SQL データベースの実行効率の問題
3. セッション、Cookie ドメイン、および暗号化解決の問題
4. プログラムの実行順序
5. プログラミングの複数環境適用性の問題
6. 分類構造と構造設計の問題
7. 文字列処理の問題: 正規表現処理または単純な PHP 文字列処理関数を処理する
8. 各種テンプレートエンジンの書き込み制限
9. PHP と Web の間のデータ相互作用の問題 (ajax、インターフェース呼び出しなど)
3. PHP の優れた基礎知識
PHP の基本的な知識がなければ、どんなに精神力が優れていて、問題解決能力が優れていても、紙の上でしか話すことができません。
優れた基礎知識があれば、プロジェクト開発プロセスを快適に行うことができます。
また、PHP エンジニアが知っておくべき基本的な知識についても簡単に説明します (実際、これらは採用要件で非常に一般的です):
1. 文法ルールについては説明しません。本を購入したり、ウェブサイトを探したりすることはできません。 2. MYSQLでの各種SQL文の書き方、追加、削除、変更、検索の基本はもちろん、in()、union、left()、left join、as、replace、alter table、whereフィールドのソート、各種インデックスの作成方法をよく知ってください
3. 独自の LAMP 環境および WAMP 環境を構築できる場合、統合ソフトウェアを使用したワンクリック インストールはカウントされません。プログラムを開発するときに、開発した環境の構造がわかりません。問題を解決するにはどうすればよいですか?したがって、必要な開発環境をインストールするには、少なくとも対応する msi ファイルを使用できる必要があります。 3 ~ 5 回のインストールが成功すると、これは問題ないとみなされます。また、さまざまな拡張機能をインストールし、Apache サービスを構成し、さまざまなパラメータを設定する場所と方法を理解し、Linux オペレーティング システムの基本コマンドを理解できる必要があります。
4. 他の言語に慣れていない場合は、PHP が完全に独立したものではないため、他の言語や要素と組み合わせて使用されます。と要素を考慮すると、チームでの共同作業は非常に困難になります。これらの他の要素には、html、javascript、jquery、xml、http プロトコル、正規表現などが含まれます。
4. インターネットアプリケーションとプロジェクト管理の包括的な知識とリテラシー
1. 知識が豊富で勉強が得意です
自分の研究だけに集中し、他の人の実践を見て学ばなければ、広い空が見えない井の底の蛙になってしまいます。したがって、プログラミングだけに集中しないでください。毎日、時間をかけて大規模なオープンソース システムのアーキテクチャ上のアイデアや、大規模なビジネス Web サイトがどのように構築されているかを学ぶようにしてください。彼らから学び、自分の欠点を補ってください。
たとえば、Uchome、dede、phpcms、wordpress、discuz、empire など、さまざまな種類のオープン ソース システムが何であるかを少なくとも知っておく必要があります。
読み過ぎると、キャッシュメカニズム、テンプレートメカニズム、静的ページ生成などの一般的なアイデアを要約して発見することもできます。
2. プロジェクトソリューションの選択
ニーズが異なれば、異なるメカニズムと選択が必要になります。 「水が覆い、兵士がそれを阻止する」とはよく言われます。一部のアーキテクチャは強力ですが、小規模なプロジェクトで使用するのは非常に困難です。自分のニーズに基づいて選択することが重要です。
モデルの選択は、気軽に決めることはできません。PHP プログラマーには、少なくとも次のような選択能力が必要であると個人的に感じています。
少なくとも 1 つの PHP フレームワークと 2 ~ 3 つの PHP オープン ソース システムの使用に習熟しており、独自のアプリケーション システムのセットを持っている。
プロジェクトは常に開発プロセスにあるわけではありません。このように、プロジェクト管理リテラシーが高いと、プロジェクトはより安定して制御可能になります。
優れたプロジェクト管理の資質には以下が含まれます:
プロジェクトの開発とメンテナンスを適切に行う習慣として、一時的な労力を節約するためだけに今後も作業を繰り返さないようにしてください。作業を合理化し、プロセスを計画し、基準を簡素化することを常に思い出してください。
多者協力のマネジメントに対する意識の向上:プロジェクトは一人のものではなく、多者協力の成果であり、公共に奉仕するものであるため、連携に対する意識を高め、関係者が協力して取り組むことが必要である。プロジェクトを改善するために。
理論を学んだり、試験や評価を受けたりするのは、プロジェクトの経験がなければ、お腹に経典が詰まっているようなもので、吐き出すのが困難です。
そのためには、実際のプロジェクトが自らの知識を需要の実現に変える方法を学ぶ必要があります。
コードは非常に読みやすく、オブジェクト、メソッド、関数に関するコメントは一連の成熟した命名規則です。
コードの冗長性が低い: プログラムとファイルの再利用性が高く、凝集性が高く、結合度が低い
高い実行効率: アプリケーション要件を達成するために最も単純なプログラム フローを使用し、大きな工夫を邪魔しないでください
優れたコードのセキュリティ: プログラマーは注意を払い、ユーザー入力またはアップロードされたファイルがある場合は特に注意してください。プログラマーの一時的な過失により、システムが瞬時にクラッシュする可能性があります。
さらに、ナンセンスな言葉をいくつか追加します。PHP シニア エンジニア、実際のところ、少し粘り強く PHP が好きな人にとって、難しいのは、自分のアイデアであっても、アイデアを実現するツールの使い方を学ぶことです。または他の人のニーズを理解し、それらを変える方法を学びます。
このようにして、インターネットの開発動向やプロジェクトの開発管理プロセスなどについて詳しく学んでみてはいかがでしょうか 上記は、上級 PHP エンジニアが身につけるべきスキルの詳細な説明です。さらに関連するコンテンツについては、注目してください。 PHP 中国語 Web サイト (www.php.cn)!

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
