ずっとphp

Aug 08, 2016 am 09:20 AM
linux memcache nbsp php session

しかし、私はこれを2、3年続けています。この要約は私の過去の要約になるはずです。

PHP は弱い型指定言語です。いわゆる型指定言語とは、型の区別がないことを意味するのではなく、PHP 変数を事前に定義する必要がなく、必要なのは $ 記号だけです。 $a/$b/$c など、必要です。 PHP 変数の基礎となる実装は C の Union を使用して実装されますが、PHP 変数は操作中に自動的に型変換を実行します。第 2 に、PHP 変数は「参照コピー」および「書き込み時のコピー」メカニズムを使用します。

どうやって学べばいいのかわからない、関数の実現は実現できそうな気がする、学ぶべきことは何もない、確かに後期のPHP自体に学ぶべきことは何もない、という状態もありえますが、現時点ではいくつかの設計パターンを学習し、いくつかのオープン ソース コードを調べ、MVC をカプセル化し、元の PHP 言語を使用していくつかのフレームワークでカプセル化を実装してみます。これを読んだ後、PHP のソースコードを見てみると、現時点ではまだ PHP のソースコードが理解できないことがわかりますが、最初はこのような感じです。 C 言語と C++ を再学習すると、C から C++ への移行が実際には多数の構造体 (struct)、define、typedef、および大規模なカプセル化プロセスであることがわかるでしょう。 PHP ソース コードでは 1、2、3 個のポインターが使用されています。PHP について学ぶべきことが何もないわけではなく、さらに深く掘り下げる必要があることがわかります。今後数日で、PHP のソース コードを見て、PHP 拡張機能を実装し、それを自分の環境に組み込んでみてください。

PHP の後半で学ぶべきことが何もないわけではありませんが、言語自体は比較的単純なので、アプリケーション レベルで学習するだけであれば、実際には何も学ぶ必要はありません。さて、ソースコードをざっと読むと、php が opcode に解析されて実行されることがわかります。apc の使い方、memcache、radius の概念がわかり、php についての理解が深まります。最適化に移りましょう。 W PHP は Web 開発言語であるため、Web に関わる場合は最適化が必要になります。どのように最適化できるのでしょうか? Web サイトのボトルネックは通常 2 か所に存在します。1 つはデータベースのボトルネック、もう 1 つはデータベースの側面 (テーブル構造の最適化、mysql エンジンの選択、インデックスの追加、垂直テーブル分割、水平テーブル) です。パーティショニング、マスター/スレーブ データベースの読み書き分類、クラスタリング。 PHPに関して言えば、ビューレイヤーでのcssやjsの最適化から始まり、cssやjsの圧縮や結合、画像の加工、アイコンの結合などを行うことができます。コントローラー層は SQL ステートメントを最適化して、関連するクエリとサブクエリの使用を削減し、SQL ステートメントを分割して実行し、データを結合できます。ページ静的処理を使用して頻繁に変更されない一部のページを処理し、memcache/apc/radius をデータベース キャッシュとして使用してデータベースの負荷を軽減し、opcode 関数を使用して PHP 解析を削減します (php5.5 以降、組み込みのオペコードにより apc が排除されます) 、apc 実装を使用することもできます)、Apache サービスの代わりに高速な nginx を選択する、サーバーをクラスター化するなどです。もちろん、一重引用符や二重引用符の使用など、PHP 自体の記述における最適化テクニックもあります。 要件の使用などについては再度説明しません。現時点では、学ぶべきことがまだたくさんあります。

弱い型付けの言語を学習しても改善が見られないと感じた場合は、再度強い型付けの言語を学習するとよいでしょう。たとえば、JSP を作成するために Java を学習すると、JSP にセッションが存在しないことがわかります。セッションをカプセル化するためにマップやハッシュマップなどの既存のデータ構造を使用することを選択できることは当然のことですが、フレームワークによって提供される関数には慣れているかもしれませんが、ここでは実際にデータベース リンクをカプセル化して読み取って返す必要があります。データをマップに変換して開発を促進します。

PHP を学習しても改善が見られないと感じた場合は、多くの本を読む必要はなく、Linux システムに切り替えて使用してみてください。実際、Linux は Windows よりも便利であることがわかります。lnmp/lamp のセットを使用したり、いくつかのシェル コードを作成したり、データベースを自動的にバックアップしたり、PHP に従って特定の機能を実現したりすることもできます。 PHP プログラムをデバッグするためにブレークポイントを使用するように PHP の xdebug を設定するには、PHP 拡張機能を作成したり、memcache を設定したりするのにも非常に便利です。 vim を使用して何かを作成し、Gcc コンパイル c を使用してみることもできます。 gdb を使用してプログラムをデバッグし、コマンドラインを使用してさらに多くのことを実行してみると、php が実際に Linux に最適であることがわかります。

この時点で、あなたはすでに Linux を十分に使いこなすことができます。一般的なフレームワーク、PHP オブジェクト指向、PHP マジック関数、PHP がポリモーフィズムをどのように実現できるか、PHP がどのように実行されるのかを分析するために、小さなフレームワークを自分で作成してみてはいかがでしょうか。 Apache では、なぜ nginx が Apache よりもパフォーマンスが高いのか、複数のサーバーでセッションを共有する方法、開発プロセス中の特定の状況で使用するために、curl を使用していくつかのインターフェイスを呼び出す方法、シリアライズ/アンシリアライズを使用してシリアル化とストレージを実現する方法一部のデータと逆シリアル化セッションの使用、一部の Web サイトのコンテンツをクロールする方法、および使用習慣を改善する方法。つまり、まだやるべきことがたくさんあるということです。PHP で学ぶべきことが何もないわけではありません。しかし、何もないと感じたときは、コーディング段階にとどまるべきではありません。学ぶことがたくさんあるのは、あなたの知識の範囲がまだ小さすぎて、認知レベルが浅すぎるからです。

プログラミングは簡単ではなく、学んで大切にするのは難しく、仕事を見つけるのも簡単ではありません。それでも、いつでも自分を向上させるために一生懸命努力する必要があります。


著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

以上、PHP の歩みをさまざまな側面を含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Apr 01, 2025 pm 03:06 PM

エラーの原因とソリューションPECLを使用してDocker環境に拡張機能をインストールする場合、Docker環境を使用するときに、いくつかの頭痛に遭遇します...

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

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

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

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

PythonインタープリターはLinuxシステムで削除できますか? PythonインタープリターはLinuxシステムで削除できますか? Apr 02, 2025 am 07:00 AM

Linux Systemsに付属するPythonインタープリターを削除する問題に関して、多くのLinuxディストリビューションは、インストール時にPythonインタープリターをプリインストールし、パッケージマネージャーを使用しません...

See all articles