【php】phpの基礎やmacOSへのインストール、JavaScriptとの違いを解説

phpphp
書いてる人
あいりゅー

プログラミングを学びながら更新しています。
iPhone/iPad/Mac/Apple WatchなどのApple製品はこちらで主に更新しています。
麻雀の反省をひたすら掲載してるブログもやってます。

あいりゅーをフォローする

このページについて

このページではphpの基礎やJavaScriptとの違い、macOSへのインストール方法などを解説しています。

php

phpはサーバーサイドで動くプログラミング言語で、簡単に言えば「サイトページを動的にする」みたいなことが可能となります。同じようにサイトで使われる言語としてJavaScriptもありますが、JavaScriptはクライアント側(ユーザーのブラウザ)が処理を実行します。

phpはサーバーサイドなので処理はサーバーで行われて、その結果のみがクライアントに送られます。そのためクライアントはphpのコード等を見ることはありません。なのでどんなコードを書いても知られることはありません。

phpをmacOSにインストールするには

macOS Monterey(12.0)まではデフォルトで入っていたので何も準備せずとも使えました。しかしMontereyからは削除されたため、別でインストールする必要があります。これはCodeRunnerなどを使う場合でも必要な手順となります。

ターミナルで

php -v

と入力してバージョンが返ってくる場合はすでにphpがインストールされているので問題ありません。ない場合はインストールしましょう。

  1. homebrewのインストール
  2. phpをインストール

の2つの手順を行います。まずはbrew.shへ行き、homebrewをインストールする準備をします。Install homebrewの下にあるコードを全てコピーして、ターミナルに貼り付けて実行します。

homwbrewインストール

実行後は時間がかかりますが、途中でキー入力を求めてくる事があります。その際は自分のmacのパスワードを入力します。2回目の入力に関しては何でもOKです。

しばらく処理が行われていくとNext Stepsと出てくると思います。そうなったらechoとevalの2行を全てコピーし、貼り付けて実行します。これを実行しないとインストールが正常に終わりません。

homebrew

こんな感じで、2行を全てコピーして実行します。homebrewのインストールが終わったら、次はターミナルで以下を実行します。

brew install php

これで最新版のphpがインストールされます。しばらく待ちます。

phpの基礎

インストールが終わるまで、phpの基礎について軽く紹介します。phpはサーバーサイドなのでサーバーで機能するプログラミング言語です。と言う事でサーバーを準備しなきゃいけないって思われるかもしれませんが、勉強だけならばサーバー自体は不要です。というのもサイトページを作って実際にphpを使いたいとか、そういう感じならそもそもサーバーが無いと無理ですよね。ただしphpの勉強程度であれば今回のhomebrewを使ったインストールや、CodeRunner、MAMPで十分です。

プログラミング言語には大まかに2種類あり、インタプリタとコンパイラがあります。コンパイルとは「ソースコードをコンピュータが解釈・実行できるように変換する事」なんですが、これは主にコンパイラ言語と言われていてC++などが該当します。逆にインタプリタは「ソースコードを直接解釈・もしくは中間表現にして解釈して実行」という事でコンパイルしません。

インタプリタはソースコードを書いている途中でもサンプルとして実行し、その都度コードを修正できる手軽さがあります。コンパイラ言語は一度コンパイル作業をしてチェックが行われるか、全てコンパイルし終えたあとで確認するまで結果がわからないと言う点があります。そのコンパイルを待つ時間が無いってのがインタプリタのいいところだったりします。

phpファイル

phpはどこに書くのかと言うと、htmlファイルに直接書いたりphpファイルに書いたりする事で使います。このphpという言語はサイトページに変化を与える目的で使われる事が多いため、phpファイルに書き・それをphpで呼び出し・サーバーで処理をしてからユーザー側(クライアント)に送っています。

phpの簡単な書き方

phpは他のHTMLやJavaScriptなどと同じく、開始と終わりが決まっています。通常のテキストファイルを開いて、先頭に以下を入力します。ファイルの拡張子を.phpにすればphpファイルとして扱われます。

<?php

そして中間のコードは今回は省略しますが、最後の最後には以下を使います。

?>

これがphpファイルとしての開始と終わりの書き方になります。まず<?phpでphpコードを書き始めるという宣言をして、?>でphpコードがここまでですよっていう事を書いていると思ってください。

中間に書くコードの書き方も基本的には統一されています。例えばよく使われる変数は

$変数名 = 内容;

となり、if文だと

if (条件式) {処理内容};

となります。phpは;(セミコロン)までで1つの処理内容として解釈するので、処理の終わりには;が必要です。必ず必要というわけではありませんが、;が無いだけでエラーとなるので基本的には入れておいたほうが安心できます。

htmlに直接書く場合

上記はテキストファイルへ書く方法でしたが、次はhtmlファイルに直接記入する場合ですね。これは簡単で、「phpを呼び出したい時に開始と処理コードを記入する」だけです。例えば何も無い空っぽのHTMLファイルがあるとします。中身はこんな感じですね。

<html>

<head></head>

<body>

</body>

</html>

これでbodyの間にphpを入れることも、headの中にphpを入れることもできます。例えば現在日時をbodyタグの中で表示する場合は以下のように行います。

<html>

<head></head>

<body>

<?php

echo date("Y/m/d");

?>

</body>

</html>

途中で<?phpと書いてphpの処理をさせる宣言をして、処理させたいコードを書いて、?>で終了。これだけです。複数回呼び出したい場合はhtml→php→html→phpとかになることもあります。

echo はphpで結果を表示する的な機能を持っているやつです。そういうコマンドがあるって思って貰えばそれでOKです。そしてそのあとのdateが日付を取得する関数です。中身にあるYmdはそれぞれ年/月/日を表しているんですが、それもそういうものがあるって感じでOKです。

この1行を簡単に言い換えると、「日付をY/m/dの形式で出力する」という命令になります。これを実行するとブラウザではこのように表示されます。

date

headの中身にある何かは気にしなくてOKです。phpがhtmlの中に入れることで使えるっていうのがわかってもらえればOKです。

phpとデータベースの連携

phpはデータベースとの連携がかなりできる言語でもあります。JavaScriptは全て終わったあとで処理を行うのに対し、phpは最初に処理をして結果を返します。この時にデータベースからデータを呼び込んで、それをJavaScriptへ渡すこともできます。

このサイトでは主にMySQLの使い方を解説しています。phpから呼び出すにはPDOを使って取得して使いたいように加工して表示します。

phpとJavaScriptどっちから勉強すべき?

正直どっちでもいいと思います。自分はJavaScriptからでしたが、今ではphpとMySQLとSwiftとJavaScriptと色々と手を出して、必要に応じてそれぞれ勉強しています。サーバーサイドの知識を増やしたい場合、php・Apache・MySQLとまとめて勉強するのがいいと思います。JavaScriptの場合はクライアント側での処理となるので関連する言語といえばそれこそJavaScriptしかありません。

とはいえどの言語も処理もサイト表示という一連の処理を行う上で使われるものです。どこから勉強してもいいと思います。

まとめ

phpはサーバーサイドで使う言語としてデータベースとの連携もかなり便利ですし、単体でも使える言語です。このサイトでphp含めて他の言語の解説もしているのでそちらも参考にしてみてください。

phpの基礎
phpとは?JavaScriptとの違いは?みたいなことから、基本の書き方などを解説。
echoとprint
画面に文字を出力する2種類の言語構造の使い方
変数
phpで使える変数の扱い方などを解説しています。
変数のスコープ(有効範囲)
変数のスコープについての解説です。
var_dump
変数の情報を見ることができる関数
print_r
変数の情報をわかりやすい形式で表示する関数
配列と連想配列
配列と連想配列の書き方と、便利な関数の解説など。
key
連想配列のキーを返してくれます。内部ポインタ関係あり。
count
配列や連想配列の要素数を数えてくれる関数の使い方解説。
ソート関数
配列に対してソートを行う関数の中から、代表的な5つの使い方解説です。
array_reverse
配列の中身の順番を反転させる関数です。
array_chunk
配列を指定した数で分割させるarray_chunk関数の使い方解説です。
array_combine
2つの配列を足して1つの連想配列にする関数です。
array_diff
2つの配列を比較して、存在しない値を出力する関数
array_push
配列に対して後方に要素を追加する関数
array_unshift
配列に対して先頭に要素を追加する関数。
array_shift
配列の先頭の要素を取り出す関数。
array_merge
複数の配列を統合して1次元の配列にする関数
array_intersect
2つの配列を比較して、両方に共通するものを出力する関数
include
includeを使って別のphpファイルを読み込む方法の解説。
if文
if文を使って処理を変更させる方法の解説。
switch文
switch文を使って複数の処理分岐を行わせたい時に使います。
forループ
forループを使って同じ処理を行わせる方法の解説です。
whileループ
whileループを使って同じ処理を行わせる方法の解説と注意点。
do-whileループ
do-whileループを使って同じ処理を行わせる方法の解説です。
foreachループ
foreachループを使って配列内のアイテム全てに処理を行う方法の解説です。
continue
ループ処理の残りをスキップしつつ、ループの先頭に戻る制御構造
ループのネスト構造(入れ子)
ループの中にループを入れる書き方や考え方の解説。
function
functionを使って自作の関数を作成・使用する方法の解説。
引数の種類と書き方解説
functionで扱う引数の種類と書き方を解説
return
returnの使い方と関数での使い方解説。
class
classを作成して変数と関数を1つにまとめる方法と使い方の解説。
constructとdestruct
classのインスタンス作成と同時に処理を行うconstructと、スクリプトの終了と同時に実行するdestructの解説です。
インターフェイス
インターフェイスという用語の解説と、実際の使い方解説
トレイト
コードを再利用するのに便利なトレイトの解説です。
列挙型
プログラム中で使う変数名をあらかじめ定義しておく。そんな感じの型。
PDOを使ってMySQLへ接続
PDOを使ってMySQLへ接続し、データを取得する方法の解説です。
データの加工と表示
PDOでデータベースから取得したデータを加工して表示する方法の解説です。
HTMLフォームのデータ受け取りと表示
HTMLで作ったフォームからのデータの受け取り方法と、その表示方法の解説です。
タイトルとURLをコピーしました