PHPを学ぶ 1日目
実行環境
MacBookAir Early 2015
PHP version => PHP 7.2.5
概要
Web の世界では、クライアントとサーバというものが存在します。
- クライアント(Client)とは、
他のコンピュータに対してなんらかの依頼(要求)を行い、その結果として情報を受取るコンピュータ
- Web アプリケーションの場合は、Chrome などのインターネットブラウザのことです。
- サーバ(Server)とは、
他のコンピュータに対して情報やサービスを提供するコンピュータ
- クライアントに対して情報やサービスを給仕するというわけです。
「PHP 入門」でまとめる際に、「サーバ」と表記してある場合、「Webサーバ(HTTPサーバ)
」を指します。
クライアントサイドとサーバサイド
「静的なページ
」と「動的なページ
」があります。
- 静的なページ
- HMTL や CSS などをサーバにアップロードしたら、アップロードしたものをそのまま表示します
- 動的なページ
- HTML や CSS などをサーバにアップロードしたら、アップロードしたものの値を追加、変更、削除します。
「静的なページ」は、JavaScript
などのクライアントサイドスクリプト
が最初に思い浮かぶかもしれません。クライアントサイドスクリプト
「動的なページ」は、PHP
などのサーバ側で動作するサーバサイド技術
を利用します。
文法
<?php ?> です
表示してみる
<?php
echo "Hello, World!";
?>
HTML に埋め込んで表示させます。
<?php
echo "hello from the TOP!";
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Hello, World!</title>
</head>
<body>
<p>Hello, World!<?php echo " from PHP"; ?></p>
</body>
</html>
コメントアウト
//コメント
# コメント
/*
コメント
コメント
コメント
コメント
*/
PHP はインタプリタ言語
PHP はインタプリタ言語です。インタプリタとは、逐次翻訳しながら実行するということです。 インタプリタと相対する関係にある言葉はコンパイルです。コンパイル型の言語では、人間が入力したコード(ソースコード)を一旦コンパイラでコンパイルし、コンピュータが理解できる形式に変換する必要があります。一方、インタプリタ言語では実行する過程で逐次翻訳をしながら処理を行います。
PHP は HTML 埋め込み型言語
PHP は、HTML 埋め込み型言語と呼ばれることもあります。HTML コードの中に<?php ?>
とブロックを埋め込むだけなので、とても楽です。
文を区切るのはセミコロン
PHP では、文の区切りにはセミコロンを使う必要があります。
変数とは
変数とは数値や文字などを入れる入れ物のようなものです。
データ型
- 文字列型
- 数値
- 配列
- オブジェクト
- null
実際に書いてみよう
<?php
$msg = "Hello!";
print $msg;
?>
$msg という名前の変数を確保してから、その中に「Hello!」という文字列をセットしています(これを変数の初期化と言います)。
「=」は代入演算子と呼ばれるもので、右辺の値を左辺の変数に格納する、という意味です。変数に値を格納することを代入と言います。数学とは違うんやで
ちなみに、C 言語みたいに変数宣言は必要ありません。
変数に関する情報
<?php
$msg = "Hello!";
var_dump($msg);
?>
var_dump
説明
変数に関する情報をダンプする。この関数は、指定した式に関してその型や値を含む構造化された情報を返します。配列の場合、その構造を表示するために各値について再帰的に探索させれます。
定数とは
定数とは、変数同様プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものです。
定数の値
- スカラー値(整数・文字列など)
アクセス出来る範囲
- どこからでもアクセスできる
変更可能か
- 変更不能(特定の場合を除く)
変更させるには
runkit_constant_redefine を用いる (PECL runkit >= 0.7.0)
- runkit_constant_redefine — 定義済みの定数を再定義する
<?php
const TEST = 'A';
const test = 'B';
?>
<ul>
<li><?php echo TEST ?></li>
<li><?php echo test ?></li>
</ul>
<?php
// 定数: 変更されない値につけるラベル
define("MY_EMAIL", "yoshikawataiki@Github.com");
echo MY_EMAIL;
// MY_EMAIL = "yoshikawataiki@Github.com";
echo "<br>";
var_dump(__LINE__);
echo "<br>";
var_dump(__FILE__);
echo "<br>";
var_dump(__DIR__);
?>