php と php MySQL の関係
Jun 13, 2016 pm 12:23 PM
このチュートリアルは、言語を完全に理解することを目的としたものではなく、動的な Web サイトの開発をできるだけ早く開始できるようにすることを目的としています。 HTML (または HTML エディター) の基本的な知識とプログラミングのアイデアがあることを前提としています。
はじめに
PHP は、動的な Web ページを生成できるツールの 1 つです。 PHP は、ハイパーテキスト プリプロセッサ (PHP: Hypertext Preprocessor) の略です。 PHP は完全に無料で、お金を費やす必要はなく、PHP 公式サイト (http://www.php.net) から自由にダウンロードできます。 PHP は GNU Public License (GPL) に準(zhǔn)拠しており、これに基づいて Linux や Emacs などの多くの人気ソフトウェアが誕生しました。ソース コードに無制限にアクセスでき、必要な機能を追加することもできます。 PHP は、ほとんどの Unix プラットフォーム、GUN/Linux、および Microsoft Windows プラットフォームで動作します。 Windows 環(huán)境の PC マシンまたは Unix マシンに PHP をインストールする方法に関する情報は、PHP 公式 Web サイトで見つけることができます。また、Tao Bar Web サイトの特別記事「包括的な PHP インストールのヒント」を確認することもできます。インストールプロセスは簡単です。
あなたのマシンが 2000 年問題を解決すれば、PHP には 2000 年問題も発生しません。
歴史
3 年前、Rasmus Lerdorf はオンライン履歴書を作成するために個人ホームページ ツールを作成しました。とてもシンプルな言語です。それ以來、ますます多くの人がこの言語に注目し、その拡張についてさまざまな提案を行うようになりました。多くの人々の獻身と言語自體のソースフリーの性質(zhì)を通じて、この言語は機能豊富な言語に進化し、今も成長を続けています。
PHP は習(xí)得が簡単ですが、mod_perl (Web サーバーに埋め込まれた Perl モジュール) よりも遅いです。現(xiàn)在、mod_perl と同じくらい高速な Zend という新しいエンジンがあり、PHP4 はこのエンジンを最大限に活用できます?,F(xiàn)在、PHP4の正式版がリリースされており、PHPの公式サイトからダウンロードできます。 Andy Gutmans と Zeev Suraki が Zend の主な著者です。詳細については、Zend サイト (http://www.zend.com) にアクセスしてください。
PHP のアプリケーションは、個人の Web プロジェクトで大幅に増加しました。 Netcraft の 1999 年 10 月のレポートによると、PHP テクノロジを使用しているドメインは 931,122 個、IP アドレスは 321,128 個ありました。
PHP の進歩
PHP を適用すると多くの利點があります。もちろん、既知の欠點は、PHP がオープンソース プロジェクトであるため、商用サポートがなく、その結(jié)果実行速度が遅くなる (PHP4 まで) ということです。しかし、PHP のメーリング リストは非常に便利で、Yahoo! や Amazon.com などの非常に人気のあるサイトを?qū)g行していない限り、PHP の速度の違いに気づくことはありません。少なくとも私は感じませんでした!さて、PHP の利點を見てみましょう:
學(xué)習(xí)プロセス
私は個人的には、PHP の非常にシンプルな學(xué)習(xí)プロセスを好みます。 Java や Perl とは異なり、まともなプログラムを作成するために 100 ページを超えるドキュメントに沒頭する必要はありません。いくつかの基本的な構(gòu)文と言語機能を理解していれば、PHP コーディングの旅を始めることができます。後でコーディング プロセス中に問題が発生した場合は、関連ドキュメントをもう一度読むことができます。
PHP の構(gòu)文は、C、Perl、ASP、または JSP に似ています。上記の言語のいずれかに精通している人にとって、PHP は単純すぎます。逆に、PHP について詳しく知っていれば、他のいくつかの言語を?qū)Wぶのは簡単になります。
PHP のすべてのコア言語機能をマスターするには、わずか 30 分しかかかりません。HTML についてはすでによく知っているかもしれませんし、編集およびデザイン ソフトウェアを使用したり、手動で美しい WEB サイトを作成する方法さえ知っているかもしれません。 PHP コードはサイトに簡単に追加できるため、サイトを設(shè)計および保守するときに、PHP を簡単に追加してサイトをより動的にすることができます。
データベース接続
PHP は、多くのデータベースに接続する関數(shù)を使用してコンパイルできます。 PHP と MySQL は現(xiàn)時點では優(yōu)れた組み合わせです。データベースに間接的にアクセスする獨自の周辺関數(shù)を作成することもできます。このようにして、使用するデータベースを変更するときに、そのような変更に適応するようにコーディングを簡単に変更できます。 PHPLIB は、一般的なトランザクションのニーズを提供できる最も一般的に使用される基本ライブラリのシリーズです。
スケーラビリティ
前述したように、PHP は急速な発展期に入っています。プログラマーではない人にとって、追加機能で PHP を拡張するのは難しいかもしれませんが、PHP プログラマーにとっては難しくありません。
オブジェクト指向プログラミング
PHP はクラスとオブジェクトを提供します。 Web ベースのプログラミング作業(yè)には、オブジェクト指向プログラミングのスキルが必要です。 PHP はコンストラクター、抽出されたクラスなどをサポートします。
スケーラビリティ
従來、Web ページの対話は CGI を通じて実現(xiàn)されていました。 CGI プログラムのスケーラビリティは、実行中の CGI プログラムごとに個別のプロセスを開くため、理想的ではありません。解決策は、CGI プログラムを Web サーバーに書き込むために一般的に使用される言語 (mod_perl、JSP など) のインタープリターをコンパイルすることです。 PHP はこの方法でインストールできますが、CGI をこの方法でインストールしようとする人はほとんどいません。埋め込み PHP はよりスケーラビリティが高くなります。
その他の機能
Web プログラミングにより適したものにするために、PHP 開発者は、使いやすいレイヤーを含む多くの周辺機器の一般的な基本ライブラリを開発しました。 PHP を使用して、Oracle、MS-Access、Mysql などのほとんどのデータベースに接続できます。ハエに絵を描いたり、電子メールをダウンロードまたは表示するプログラムを作成したりできます。ネットワーク関連の機能も実行できます。何よりも、PHP インストールに必要な機能を選択できます。 Nissan の Xterra の言葉を借りれば、PHP はやりたいことがすべて実現(xiàn)でき、萬能です!
MySQL の概要
MySQL は、Linux コミュニティで広く愛されている準(zhǔn)商用データベースです。 MySQL は、ほとんどの Linux プラットフォーム (i386、Sparc など) だけでなく、いくつかの非 Linux プラットフォーム、さらには非 Unix プラットフォームでも動作します。
ライセンス料金
MySQL の人気は、少し特殊なライセンス料金に加えて、その寛容さに大きく起因しています。 MySQL の価格はプラットフォームとインストール方法によって異なります。 MySQL の Windows バージョン (NT および 9X) はいかなる場合でも無料ではありませんが、Unix バージョン (Linux を含む) の MySQL は、サードパーティではなくユーザー自身またはシステム管理者がインストールした場合は無料です。ライセンス料が必要です。支払った。
価格
プラットフォームのインストール方法の価格
Windows NT、9X 任意 $200
Unix または Linux セルフインストール 無料
Unix または Linux サードパーティによるインストール $200
アプリケーション コンポーネントが必要 $200
ここには記載しきれないほどのさまざまなサポート契約が用意されています。最新の見積もりについては、MySQL Web サイトを參照してください。
3. インストール
ほとんどの主要なソフトウェア パッケージ形式 (RPM、DBE、TGZ) は MySQL サイトで入手でき、さまざまな言語の「ラッパー」 (Wrapper) は別の RPM 形式で入手できます。 RPM 形式でのインストールは簡単で、初期設(shè)定も必要ありません。初期スクリプトは rc3.d (例として RedHat RPM を使用) で生成されるため、マルチユーザー モードで再起動すると MySQL デーモンが開始されます。 MySQL のデーモン (mysqld) はメモリをほとんど消費せず (RedHat 5.1 を?qū)g行している Pentium 133 では、各デーモンが 500K のメモリとさらに 4M の共有メモリのオーバーヘッドを使用します)、サーバー上で実際のクエリが実行された場合にのみプロセスにロードされます。小規(guī)模なデータベースの場合、MySQL は他のシステム機能に大きな影響を與えることなく、かなり簡単に使用できるということです。
データ型
フィールドが多くのデータ型をサポートするのは良いことです。一般的な整數(shù)、浮動小數(shù)點數(shù)、文字列、數(shù)値は複數(shù)の長さで表現(xiàn)され、可変長の BLOB (Binary Large OBject) タイプをサポートします。自動インクリメント オプションは整數(shù)フィールドに使用され、日付と時刻のフィールドも適切に表現(xiàn)できます。
MySQL は、ENUM と SET という 2 つの比較的珍しいフィールド タイプを提供する點で他のほとんどのデータベース システムと異なります。 ENUM は Pascal 言語の列挙型に非常に似た列挙型で、プログラマーは「red」、「green」、「blue」に似たフィールド値を確認できますが、MySQL はこれらの値のみを保存します。言葉としてはお祭り。 SET も Pascal から借用されたものですが、これも列挙型ですが、1 つのフィールドに一度に複數(shù)の値を格納できるという機能は、あまり印象に殘らないかもしれません (そして、第 3 正規(guī)形の定義を脅かす可能性があります)。 ) ) ですが、SET キーワードと CONTAINS キーワードを正しく使用すると、多くのテーブル接続を節(jié)約し、パフォーマンスを大幅に向上させることができます。
5. SQL の互換性
MySQL には SQL 標(biāo)準(zhǔn)とは異なる変更がいくつか含まれており、そのほとんどは SQL 言語スクリプト言語の欠點を補うように設(shè)計されています。ただし、他の拡張機能によって MySQL がユニークになります。たとえば、LINK 句の検索では大文字と小文字が自動的に區(qū)別されます。 MySQL ではユーザー定義の SQL 関數(shù)も使用できます。つまり、プログラマは関數(shù)を作成して MySQL に統(tǒng)合し、SUM() や AVG() などの基本関數(shù)と何ら変わらない動作をさせることができます。関數(shù)は共有ライブラリ ファイル (.so ファイル) にコンパイルし、LOAD FUNCTION コマンドでロードする必要があります。
また、いくつかの一般的な SQL 機能が欠けており、副選択 (クエリ內(nèi)のクエリ) もありません。ビューも消えてしまいました。もちろん、ほとんどのサブクエリは単純な結(jié)合句で書き換えることができますが、1 つの大きな結(jié)合よりも 2 つのネストされたクエリの観點から考える方が簡単な場合があります。繰り返しますが、ビューはプログラマから where 句を隠すだけですが、これもプログラマが期待する利便性です。
ストアド プロシージャとトリガー
MySQL にはストアド プロシージャ (ストアド プロシージャ) 言語がありません。これが、エンタープライズ レベルのデータベースに慣れているプログラマにとって最大の制限です。複數(shù)ステートメントの SQL コマンドは、クライアント コードを通じて調(diào)整する必要があります。これは、非常に堅牢なクエリ言語と、複數(shù)のステートメントを?qū)g行できるようにクライアント側(cè)でテーブルをロックおよびロック解除する機能を利用して実現(xiàn)されます。
7. 參照整合性 (Referential Integrity-RI)
MySQL の主な欠陥の 1 つは、標(biāo)準(zhǔn)の RI メカニズムが欠如していることです。ただし、MySQL の作成者は、ユーザーの要望に耳を傾けず、いくつかの機能を提供しています。解決。その 1 つは、一意のインデックスのサポートです。ルール制限 (特定のフィールドに対する固定範(fàn)囲制限) がないことは、多數(shù)のデータ型によって補われます。単なるチェック制約 (同じ行內(nèi)の別のフィールドに対する 1 つのフィールドの値の制限)、外部キーワード、および RI に関連付けられている「カスケード削除」機能を提供するだけではありません。興味深いことに、SQL パーサーは、これらの機能がサポートされていない場合でも、これらのステートメントの構(gòu)文を許容します。この目的は、データベースを MySQL に簡単に移植することです。これは良い試みであり、この機能の將來のサポートへの扉が開かれたままになっていますが、ドキュメントを注意深く読まない人は、これらの機能が実際に存在すると騙される可能性があります。
7. セキュリティ
最初から最後まで MySQL に関する最大の不満は、そのセキュリティ システムが標(biāo)準(zhǔn)ではなく複雑であることです。また、ユーザー権限を再読み込みするために mysqladmin が呼び出された場合にのみ変更されることです。通常の SQL GRANT/REVOKE ステートメントは、最近のバージョンまでサポートされていませんでしたが、少なくとも現(xiàn)在はサポートされています。 MySQL の作成者は、その特定のセキュリティ システムについて広範(fàn)に文書化していますが、他の方法では不可能な學(xué)習(xí)曲線が必要です。
apache php mysql は企業(yè)ネットワークに最適な組み合わせです。
PHP を?qū)W習(xí)すると、実際にインターネットで多くのチュートリアルを見つけることができます。インターネット上でたくさんのチュートリアルを見つけることができますが、どのプログラムでも最も重要なことは、プログラムを作成し、書き続け、読み続けることです。
もちろん、Web サイトを作成するのに最適な方法は、多くのコードを記述でき、デザインもできる Dreamweaver です。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

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

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

n 1クエリの問題を避け、関連するデータを事前にロードすることにより、データベースクエリの數(shù)を減らします。 2.必要なフィールドのみを選択して、メモリと帯域幅を保存するために完全なエンティティをロードしないようにします。 3. DoctrineのセカンダリキャッシュやRedis Cacheの高周波クエリ結(jié)果など、キャッシュ戦略を合理的に使用します。 4.エンティティのライフサイクルを最適化し、クリア()を定期的に呼び出してメモリを解放してメモリオーバーフローを防ぎます。 5.データベースインデックスが存在し、生成されたSQLステートメントを分析して、非効率的なクエリを避けます。 6.変更が不要なシナリオで自動変更追跡を無効にし、パフォーマンスを改善するためにアレイまたは軽量モードを使用します。 ORMを正しく使用するには、SQLモニタリング、キャッシュ、バッチ処理、適切な最適化を組み合わせて、開発効率を維持しながらアプリケーションのパフォーマンスを確保する必要があります。

settings.jsonファイルは、ユーザーレベルまたはワークスペースレベルのパスにあり、VSCODE設(shè)定のカスタマイズに使用されます。 1。ユーザーレベルのパス:WindowsはC:\ users \\ appdata \ roaming \ code \ user \ settings.json、macos is/users //settings.json、linux is /home/.config/code/user/settings.json; 2。Workspace-Level Path:.vscode/settings Project Root Directoryの設(shè)定

PHPのゴミ収集メカニズムは參照カウントに基づいていますが、周期的な円形のゴミコレクターによって円形の參照を処理する必要があります。 1。変數(shù)への參照がない場合、參照カウントはすぐにメモリを解放します。 2.參照參照により、メモリを自動的にリリースできなくなり、GCを検出およびクリーニングすることがGCに依存します。 3。GCは、「可能なルート」ZVALがしきい値に到達するか、GC_COLLECT_CYCLES()を手動で呼び出すとトリガーされます。 4.長期実行PHPアプリケーションは、メモリの漏れを避けるために、gc_status()を監(jiān)視し、gc_collect_cycles()を呼び出す必要があります。 5.ベストプラクティスには、gc_disable()を使用してパフォーマンスキー領(lǐng)域を最適化し、ormのclear()メソッドを介して繰り返しのオブジェクトを最適化する回路參照の回避が含まれます。

BREFにより、PHP開発者は、サーバーを管理せずにスケーラブルで費用対効果の高いアプリケーションを構(gòu)築できます。 1.Brefは、最適化されたPHPランタイムレイヤーを提供し、PHP8.3およびその他のバージョンをサポートし、LaravelやSymfonyなどのフレームワークとシームレスに統(tǒng)合することにより、PHPをAwslambdaにもたらします。 2。展開手順には、次のものが含まれます。Composerを使用してBREFのインストール、httpエンドポイントや職人コマンドなどの関數(shù)とイベントを定義するためにserverless.ymlの構(gòu)成。 3. serverlessdeployコマンドを?qū)g行して、展開を完了し、Apigatewayを自動的に構(gòu)成し、アクセスURLを生成します。 4。Lambdaの制限については、Brefは解決策を提供します。

readonlypropertiesinphp8.2canonlybeassignedonedonedontheconstructoraturatiddeclaration andcannotBemodifiedifiedifiedifiedifiedifiedifiedifiadtivedabilityattthelanguagelele.2.

usearestapitobridgephpandmlmodelsbyrunningthemodelinpythonviaflaskorapiandapiandcallingtfromphpusingcurlorguzzle.2.runpythosscriptsdirectlyfrompurspusingec()orshell_exec()

まず、JavaScriptを使用して、ユーザーシステムの設(shè)定とローカルに保存されたテーマ設(shè)定を取得し、ページテーマを初期化します。 1. HTML構(gòu)造には、トピックの切り替えをトリガーするボタンが含まれています。 2。CSSの使用:rootは明るいテーマ変數(shù)を定義し、.dark-modeクラスは暗いテーマ変數(shù)を定義し、これらの変數(shù)をvar()を介して適用します。 3. JavaScript検出は、カラーのスchemeを好み、LocalStorageを読み取り、最初のテーマを決定します。 4.ボタンをクリックするときにHTML要素のダークモードクラスを切り替え、現(xiàn)在の狀態(tài)をLocalStorageに保存します。 5.すべての色の変更には、ユーザーを強化するために0.3秒の移行アニメーションが伴います

パフォーマンス分析ツールを使用してボトルネックを見つけ、開発とテスト段階でVisualVMまたはJProfilerを使用し、生産環(huán)境で非同期財産を優(yōu)先します。 2。オブジェクトの作成を削減し、オブジェクトを再利用し、StringBuilderを使用して文字列のスプライシングを置き換え、適切なGC戦略を選択します。 3.コレクションの使用を最適化し、シーンに応じて初期容量を選択し、プリセットします。 4.同時性を最適化し、同時コレクションを使用し、ロックの粒度を低減し、スレッドプールを合理的に設(shè)定します。 5. JVMパラメーターを調(diào)整し、合理的なヒープサイズと低遅延のゴミコレクターを設(shè)定し、GCログを有効にします。 6.コードレベルでの反射を避け、ラッパークラスを基本タイプに置き換え、初期化を遅延させ、最終と靜的を使用します。 7。JMHと組み合わせた連続性能テストと監(jiān)視
