このチュートリアルは、言語を完全に理解することを目的としたものではなく、動的な Web サイトの開発をできるだけ早く開始できるようにすることを目的としています。 HTML (または HTML エディター) の基本的な知識とプログラミングのアイデアがあることを前提としています。
はじめに
PHP は、動的な Web ページを生成できるツールの 1 つです。 PHP は、ハイパーテキスト プリプロセッサ (PHP: Hypertext Preprocessor) の略です。 PHP は完全に無料で、お金を費やす必要はなく、PHP 公式サイト (http://www.php.net) から自由にダウンロードできます。 PHP は GNU Public License (GPL) に準拠しており、これに基づいて Linux や Emacs などの多くの人気ソフトウェアが誕生しました。ソース コードに無制限にアクセスでき、必要な機能を追加することもできます。 PHP は、ほとんどの Unix プラットフォーム、GUN/Linux、および Microsoft Windows プラットフォームで動作します。 Windows 環境の PC マシンまたは Unix マシンに PHP をインストールする方法に関する情報は、PHP 公式 Web サイトで見つけることができます。また、Tao Bar Web サイトの特別記事「包括的な PHP インストールのヒント」を確認することもできます。インストールプロセスは簡単です。
あなたのマシンが 2000 年問題を解決していれば、PHP には 2000 年問題も発生しません。
歴史
3 年前、Rasmus Lerdorf はオンライン履歴書を作成するために個人ホームページ ツールを作成しました。とてもシンプルな言語です。それ以来、ますます多くの人がこの言語に注目し、その拡張についてさまざまな提案を行うようになりました。多くの人々の献身と言語自体のソースフリーの性質を通じて、この言語は機能豊富な言語に進化し、今も成長を続けています。
PHP は習得が簡単ですが、mod_perl (Web サーバーに埋め込まれた Perl モジュール) よりも遅くなります。現在、mod_perl と同じくらい高速な Zend という新しいエンジンがあり、PHP4 はこのエンジンを最大限に活用できます。現在、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 がオープンソース プロジェクトであるため、商用サポートがなく、その結果実行速度が遅くなる (PHP4 まで) ということです。しかし、PHP のメーリング リストは非常に便利で、Yahoo! や Amazon.com などの非常に人気のあるサイトを実行していない限り、PHP の速度の違いに気づくことはありません。少なくとも私は感じませんでした!さて、PHP の利点を見てみましょう:
学習プロセス
私は個人的には PHP の非常にシンプルな学習プロセスを好みます。 Java や Perl とは異なり、まともなプログラムを作成するために 100 ページを超えるドキュメントに没頭する必要はありません。いくつかの基本的な構文と言語機能を理解していれば、PHP コーディングの旅を始めることができます。後でコーディング プロセス中に問題が発生した場合は、関連ドキュメントをもう一度読むことができます。
PHP の構文は C、Perl、ASP、または JSP に似ています。上記の言語のいずれかに精通している人にとって、PHP は単純すぎます。逆に、PHP について詳しく知っていれば、他のいくつかの言語を学ぶのは簡単になります。
PHP のコア言語機能をすべてマスターするには 30 分しかかかりません。HTML についてはすでによく知っているかもしれませんし、編集およびデザイン ソフトウェアを使用したり、手動で美しい WEB サイトを作成する方法さえ知っているかもしれません。 PHP コードはサイトに簡単に追加できるため、サイトを設計および保守するときに、PHP を簡単に追加してサイトをより動的にすることができます。
データベース接続
PHP は、多くのデータベースに接続する関数を使用してコンパイルできます。 PHP と MySQL は現時点では優れた組み合わせです。データベースに間接的にアクセスする独自の周辺関数を作成することもできます。このようにして、使用するデータベースを変更するときに、そのような変更に適応するようにコーディングを簡単に変更できます。 PHPLIB は、一般的なトランザクションのニーズを提供できる最も一般的に使用される基本ライブラリのシリーズです。
スケーラビリティ
前に述べたように、PHP は急速な発展期に入っています。プログラマーではない人が PHP に追加機能を拡張するのは難しいかもしれませんが、PHP プログラマーにとっては難しくありません。
オブジェクト指向プログラミング
PHP はクラスとオブジェクトを提供します。 Web ベースのプログラミング作業には、オブジェクト指向プログラミングのスキルが必要です。 PHP はコンストラクター、抽出されたクラスなどをサポートします。
スケーラビリティ
従来、Web ページの対話は CGI を通じて実現されていました。 CGI プログラムのスケーラビリティは、実行中の CGI プログラムごとに個別のプロセスを開くため、理想的ではありません。解決策は、CGI プログラムを Web サーバーに書き込むために一般的に使用される言語 (mod_perl、JSP など) のインタープリターをコンパイルすることです。 PHP はこの方法でインストールできますが、CGI をこの方法でインストールしようとする人はほとんどいません。埋め込み PHP はよりスケーラビリティが高くなります。
その他の機能
Web プログラミングにより適したものにするために、PHP 開発者は、使いやすいレイヤーを含む多くの周辺機器の一般的な基本ライブラリを開発しました。 PHP を使用して、Oracle、MS-Access、Mysql などのほとんどのデータベースに接続できます。ハエに絵を描いたり、電子メールをダウンロードまたは表示するプログラムを作成したりできます。ネットワーク関連の機能も実行できます。何よりも優れているのは、PHP インストールに必要な機能を選択できることです。 Nissan の Xterra の言葉を借りれば、PHP はやりたいことはすべて実行でき、万能です!
MySQL の紹介
MySQL は、Linux コミュニティの人々に広く愛されている半商用データベースです。 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 サイトで最新の見積もりを参照してください。
3. インストール
ほとんどの主要なソフトウェア パッケージ形式 (RPM、DBE、TGZ) は MySQL サイトで入手でき、クライアント ライブラリとさまざまな言語の「ラッパー」(Wrapper) は別の RPM 形式で入手できます。 RPM 形式でのインストールは手間がかからず、初期設定も必要ありません。初期スクリプトは rc3.d (例として RedHat RPM を使用) で生成されるため、マルチユーザー モードで再起動すると MySQL デーモンが開始されます。 MySQL のデーモン (mysqld) はメモリをほとんど消費せず (RedHat 5.1 を実行している Pentium 133 では、各デーモンが 500K のメモリとさらに 4M の共有メモリのオーバーヘッドを使用します)、サーバー上で実際のクエリが実行された場合にのみプロセスにロードされます。小規模なデータベースの場合、MySQL は他のシステム機能に大きな影響を与えることなく、かなり簡単に使用できるということです。
データ型
フィールドが多くのデータ型をサポートしているのは良いことです。一般的な整数、浮動小数点数、文字列、数値は複数の長さで表現され、可変長の BLOB (Binary Large OBject) タイプをサポートします。自動インクリメント オプションは整数フィールドに使用され、日付と時刻のフィールドも適切に表現できます。
MySQL は、ENUM と SET という 2 つの比較的珍しいフィールド タイプを提供する点で他のほとんどのデータベース システムと異なります。 ENUM は列挙型であり、Pascal 言語の列挙型に非常に適しています。これにより、プログラマは「赤」、「緑」、「青」に似たフィールド値を確認できますが、MySQL はこれらの値のみを保存します。言葉としてはお祭り。 SET も Pascal から借用されたものですが、これも列挙型ですが、1 つのフィールドに一度に複数の値を格納できるという機能は、あまり印象に残らないかもしれません (そして、第 3 正規形の定義を脅かす可能性があります)。 ) ) ですが、SET キーワードと CONTAINS キーワードを正しく使用すると、多くのテーブル接続を節約し、パフォーマンスを大幅に向上させることができます。
5. SQL の互換性
MySQL には SQL 標準とは異なる変更がいくつか含まれており、そのほとんどは SQL 言語スクリプト言語の欠点を補うように設計されています。ただし、他の拡張機能によって MySQL がユニークになります。たとえば、LINK 句の検索では大文字と小文字が自動的に区別されます。 MySQL ではユーザー定義の SQL 関数も使用できます。つまり、プログラマは関数を作成して MySQL に統合し、SUM() や AVG() などの基本関数と何ら変わらない動作をさせることができます。関数は共有ライブラリ ファイル (.so ファイル) にコンパイルし、LOAD FUNCTION コマンドでロードする必要があります。
また、いくつかの一般的な SQL 機能が欠けており、副選択 (クエリ内のクエリ) がありません。ビューも消えてしまいました。もちろん、ほとんどのサブクエリは単純な結合句で書き換えることができますが、1 つの大きな結合よりも 2 つのネストされたクエリの観点から考える方が簡単な場合があります。繰り返しますが、ビューはプログラマから where 句を隠すだけですが、これもプログラマが期待する利便性です。
ストアド プロシージャとトリガー
MySQL にはストアド プロシージャ (ストアド プロシージャ) 言語がありません。これは、エンタープライズ レベルのデータベースに慣れているプログラマにとって最大の制限です。複数ステートメントの SQL コマンドは、クライアント コードを通じて調整する必要があります。これは、非常に堅牢なクエリ言語と、複数のステートメントを実行できるようにクライアント側でテーブルをロックおよびロック解除する機能を利用して実現されます。
7. 参照整合性 (Referential Integrity-RI)
MySQL の主な欠陥の 1 つは、標準の RI メカニズムが欠如していることですが、MySQL の作成者はユーザーの要望に耳を貸さず、いくつかの解決策を提供しています。その 1 つは、一意のインデックスのサポートです。ルール制限 (特定のフィールドに対する固定範囲制限) がないことは、多数のデータ型によって補われます。単なるチェック制約 (同じ行内の別のフィールドに対する 1 つのフィールドの値の制限)、外部キーワード、および RI に関連付けられている「カスケード削除」機能を提供するだけではありません。興味深いことに、SQL パーサーは、これらの機能がサポートされていない場合でも、これらのステートメントの構文を許容します。この目的は、データベースを MySQL に簡単に移植することです。これは良い試みであり、この機能の将来のサポートへの扉が開かれたままになっていますが、ドキュメントを注意深く読まない人は、これらの機能が実際に存在すると騙される可能性があります。
7. セキュリティ
MySQL に関する私の最大の不満は、そのセキュリティ システムが標準ではなく複雑であることです。さらに、ユーザー権限を再読み込みするために mysqladmin が呼び出された場合にのみ変更されることです。通常の SQL GRANT/REVOKE ステートメントは、最近のバージョンまでサポートされていませんでしたが、少なくとも現在はサポートされています。 MySQL の作成者は、その特定のセキュリティ システムについて広範に文書化していますが、他の方法では不可能な学習曲線が必要です。
apache + php + mysql は最良の組み合わせであり、企業ネットワークにも最適な組み合わせです。
PHP を学習する場合、実際、プログラムを学習する最良の方法は、プログラムを作成することです。 、書き続けて読み続けてください。
もちろん、Web サイトを作成するのに最適なのは、多くのコードを記述でき、デザインもできる Dreamweaver です。
上記は、apache php mysql php と php MySQL の関係を紹介しており、apache php mysql の内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。