WordPressなどを利用していると、もっとPHPが理解できたら自由度が格段と広がるのになぁ~。と思うようになってきませんか?私はつくづく思って泣きそうになります。
「スクリプト言語」というだけで、片耳くらい塞ぎたくなりますが・・・。デザイナーにとってはちょっと後ずさりしてしまう分野かもしれませんが、ビジュアルだけを考えているだけでは、そのデザインの自由度は限定されてしまいます。PHPという技術を食わず嫌いしてしまうのは非常にもったいない!ということで、奮起したつもりになって、まずは初歩的なところから首を突っ込んでみてはいかがでしょうか。
学ぶも自由、学ばざるも自由ではありますが、きっとデザインにおいても新たな発見があるかもしれません。そう願っていきましょう。
それではまずはPHPの基本的な文法から見ていきたいと思います。
PHPスクリプトの開始と終了
PHPはHTMLと混在して記述することが可能なスクリプト言語ですが、では実際にどのように記述すれば良いのかを見ていきます。PHPスクリプトを記述するためには、[<?php]ではじまり[?>]で終わるというのが基本になります。← これくらい知っているよ!って人は多いと思います。そんな方もじっくりいきましょう。
▼基本的なベースとなるのが以下のような記述方法です。
1 2 3 |
<?php ここにPHPスクリプトを記述する ?> |
THE基礎!ですね。このようにPHPが書かれているコードは、皆さんも幾度となく目にしているかもしれません。
文字を表示するには?
PHPスクリプトで画面上にテキストを表示する場合には「print()」か「echo()」を使用します。どちらとも「その後に続く文字をブラウザに出力する」という関数になります。
1 2 3 |
<?php print ("こんにちは"); ?> |
▼実際の表示
echo
1 2 3 |
<?php echo ("こんばんは"); ?> |
▼実際の表示
コメントを付けるには?
HTML文書内でコメント文を付ける場合は[<!–]ではじまり[–>]で終わるように記述しますが、同じようにPHPスクリプト内においてもコメントを記述することができます。
- 「//」から行末(改行)まで
- 「#」から行末(改行)まで
- 「/*」から「*/」まで(改行を含めることができる)
では、実際にどのように記述すれば良いのか見ていきましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<html> <head> <title>PHPコメント</title> </head> <body> <?php # この部分はコメントになります。 // この部分もコメントになります。 echo ("おはようございます"); #この部分もコメントになります /* こちらもコメントになります。 改行をしてもコメント扱いになります。 */ ?> </body> </html> |
ひとつの処理ごとに終わりを明確にする
例として「print()」と「echo()」を同時に使う場合以下のように記述するとエラーが出ます。
1 2 3 4 |
<?php print ("こんにちは") echo ("こんばんは"); ?> |
どこが原因かと言うと、print()命令文の最後に「;(セミコロン)」が記述されていないのが原因になります。PHPでは命令の終わりを明確にしなければいけません。よって「print()」と「echo()」の後ろには必ず「;(セミコロン)」を記述するようにしましょう。
PHPでの文字列の使い方
PHPで文字列(日本語文字や英語文字など)を使うときは、「‘(シングルクォーテーション)」もしくは「“(ダブルクォーテーション)」を利用します。
基本ルールとして、PHPで文字列を扱う際は「引用符(‘)(“)」で囲まなければならないというのがあります。その理由は、PHPの命令文と表示する文字列を区別することにあります。
先程の画面に文字列を出力するということで見ると、記述の仕方は以下のようになります。
1 2 3 4 |
<?php print "ダブルクォーテーションで出力する"; echo 'シングルクォーテーションで出力する'; ?> |
「”」「’」どちらでも出力される結果は同じなりますので、扱いやすい方を利用すれば良いかと思います。
PHPで改行したいとき
ブラウザ上の文字列をあるところで改行表示したいときを見ていきます。
HTMLで言えば<br />タグと同じ扱いになりますが、PHPには「改行」「タブ」「空白」をすべて無視する特性があります。そこで実際に改行したい場合は「特殊文字」としての「¥n」を利用します。
では、実際に見てみましょう。
1 2 3 4 |
<?php echo "おはようございます<br />¥n"; echo "今日は良い天気ですね!"; ?> |
これを出力すると、正しく改行されているかと思います。
▼実際の表示
しかし、この「“」を「‘」に変更すると、「¥n」が出力されてしまいます。
▼実際の表示
その理由としては、今回の改行コード「¥n」は文字といっても“特殊文字”としての扱いになり、「’」は特殊文字を理解しないようにできていますので、改行がされないという現象が起きるものになります。
文字列のエスケープ
PHPスクリプト内では、HTMLタグも「文字列」として扱われます。よくある間違いとしては以下のようなシーンが見られます。
1 2 3 |
<?php echo "<a href="#">こちらのリンク先へ移動します</a>"; ?> |
上記のようにテキストリンクをPHP内で配置した場合、何も表示さなくなってしまったり、エラー表示が出てしまいます。その理由としては、echo”文字列”の中にさらに「”」が入っているためです。
このように入れ子になっている「”」は文字列であることを意味するものではなく、「そのまま出力をする」という意味合いになってしまいます。この意味合いのことを「エスケープ処理」と呼びます。
エスケープ処理ってなに?
エスケープ処理とは、あるデータの中で、特別な意味を持った記号や文字などを一定のルールに従い変換することを言います。HTMLにおいての「<」「>」のように、そのまま表示したい場合は「<」「>」と記述すれば「<」「>」と表示されるかと思いますが、それと同じことになります。
では、テキストにリンクを付ける場合どのように記述すれば良いかと言うと、以下のようになります。
1 2 3 |
<?php echo "<a href=¥"#¥">こちらのリンク先へ移動します</a>"; ?> |
▼実際の表示
その他の特殊文字
特殊文字には「¥n」の他にも「¥r」や「¥t」などがあります。またややこしいことに「お会計は¥1,080になります」など「¥マーク」を表示したい際は、以下のように「¥」の前に「¥」を記述します。
1 2 3 |
<?php echo "お会計は¥¥1,080になります"; ?> |
▼実際の表示
これと同じように「$」もエスケープ処理が必要な特殊文字になります。「お会計は$100になります」など「$マーク」を表示したい際は、以下のように「$」の前に「¥」を記述します。
1 2 3 |
<?php echo "お会計は¥$100になります"; ?> |
▼実際の表示
ここまでPHPの基本的な文法を見てきましたが、いかがでしたでしょうか?PHPをこれから学びたいという方には新鮮だと思いますが、基礎をしっかり固めて身につけていけたらいいですね。