PERL開発者向けのPHP
この章では、PHPとPERLの主な類似点と相違点を示します。これは、PERL開発者がPHPを非常に迅速に理解し、よくある間違いを回避するのに役立ちます。
類似点
Compiled scripting languages − PerlとPHPはどちらもスクリプト言語です。これは、実行前にネイティブのスタンドアロン実行可能ファイルを生成するために使用されないことを意味します。
Syntax− PHPの基本構文はPerlの構文に非常に近く、どちらもCと多くの構文機能を共有しています。コードは空白の影響を受けず、ステートメントはセミコロンで終了し、中括弧は複数のステートメントを1つのブロックに編成します。関数呼び出しは、関数の名前で始まり、括弧で囲まれ、コンマで区切られた実際の引数が続きます。
Dollar-sign variables − PHPのすべての変数は、Perlのスカラー変数のように見えます。名前の前にドル記号($)が付いています。
No declaration of variables − Perlの場合と同様に、PHP変数を使用する前にその型を宣言する必要はありません。
Loose typing of variables− Perlの場合と同様に、PHPの変数には、現在保持している値以外の固有の型はありません。同じタイプの変数に数値または文字列を格納できます。
Strings and variable interpolation − PHPとPerlはどちらも、一重引用符で囲まれた文字列( 'string')よりも二重引用符で囲まれた文字列( "string")の解釈を多く行います。
違い
PHP is HTML-embedded− PHPは、コマンドラインから実行することで任意のタスクに使用できますが、通常はWebサーバーに接続され、Webページの作成に使用されます。PerlでCGIスクリプトを書くことに慣れている場合、PHPの主な違いは、printまたはheredocステートメントを使用して静的HTMLの大きなブロックを明示的に印刷する必要がなくなり、代わりにPHPコードブロックの外にHTML自体を書き込むことができることです。
No @ or % variables− PHPには、ドル記号($)で始まる唯一の種類の変数があります。言語のデータ型はすべて、スカラーか複合かを問わず、そのような変数に格納できます。
Arrays versus hashes − PHPには、Perlでハッシュと配列/リストの両方の役割を果たす配列と呼ばれる単一のデータ型があります。
Specifying arguments to functions− PHPでの関数呼び出しは、Perlでのサブルーチン呼び出しとほとんど同じように見えます。一方、PHPの関数定義では、通常、CやJavaのように、PERLのcsseではない何らかの形式の引数のリストが必要です。
Variable scoping in functions− Perlでは、変数のデフォルトのスコープはグローバルです。これは、最上位の変数がサブルーチン内に表示されることを意味します。多くの場合、これにより、関数間でグローバルが無差別に使用されます。PHPでは、関数定義内の変数のスコープはデフォルトでローカルです。
No module system as such − PHPでは、通常のコードファイルとインポートされたライブラリとして使用されるコードファイルの間に実際の違いはありません。
Break and continue rather than next and last −PHPはC言語に似ており、次と最後のステートメントの代わりにbreakとcontinueを使用します。
No elsif −スペルのわずかな違い:PerlのelsifはPHPのelseifです。
More kinds of comments − Perlスタイル(#)の単一行コメントに加えて、PHPはCスタイルの複数行コメント(/ *コメント* /)とJavaスタイルの単一行コメント(//コメント)を提供します。
Regular expressions − PHPには正規表現に固有の組み込み構文はありませんが、「Perl互換」の正規表現関数にはほとんど同じ機能があります。