PHP

    初心者のためのPHP入門

    PHPは、ウェブサイト構築に特化されたプログラミング言語です。

    PHPの主な目的は、HTMLソースを出力することです。

    計算や条件分岐でHTMLを動的に変更して、ウェブページとして表示することができます。

    PHPは難しいプログラミング言語ではありません。

    HTMLがわかれば、ちょっと応用するだけです。

    PHPでできること

    • データ処理(フォームデータの処理など)
    • データベース操作(作成、表示、更新、削除)
    • セッション管理(ユーザー情報の管理など)

     

    PHPファイルについて

    PHPは、ウェブサイトの構築に特化されたプログラミング言語です。

    通常のHTMLと組み合わせてウェブサイトを作れます。

     

    PHPファイルの中に、HTMLを書くことができます。

    イメージとしては、以下のようになります。

    PHPファイル = HTML + PHP

     

    HTMLとPHPの違いをまとめます。

     

    HTML

    表示内容(HTMLソース)を手書きで書く。

     

    PHP

    繰り返しの形を自動的に表示したり、条件に応じて表示内容(HTMLソース)を生成・変更できます。

     

    通常のウェブサイトは、表示する内容を手書きでコーディングします。表示内容を変更したい時は、すべてを手作業で変更しなければいけません。大量のデータを変更することは大変な作業です。

    PHPでプログラムを組んでおくことで、データの変更に応じて自動的にHTMLが生成されて表示できるのです。

    PHPは、HTMLと組み合わせることができる!

     

    プログラムはいつ実行されるか

    PHPのプログラムは、ウェブサイトへのアクセスがある度(HTTP通信が行われた時)に実行されます。

     

     

    PHPファイルの作り方

    PHPファイルの拡張子は.phpです。

    PHPファイルには、<?php ?>の間にPHPのプログラム書くことができます。

    それ以外の部分は、普通のHTMLとして認識されます。

    プログラムの文末には、セミコロン;を書きます。

    以下、PHPファイルのサンプルコードです。

    <h2>PHPについて</h2>
    
    <?php
    $name = "太郎";
    <p>echo $name;</p>
    ?>

    つまり、PHPファイルは「PHPが書けるファイル」ですが、通常のHTMLファイルとなんら変わりはないのです。

     

     

    PHPファイルを動かすにはサーバーが必要

    PHPファイルは、サーバーにアップロードしないと実行されません。

    MAMPとよばれるPHPの開発環境を構築すれば、サーバーにアップロードしなくても動作確認できますが、せっかくwebプログラミングを学んでいくのなら自分のサーバーでやってみましょう。

     

    そこで便利なのが「レンタルサーバー」です。

    サーバーを借りて、自分で作ったウェブサイトやアプリを世界中に発信することができます。

    世界に一つあなただけのウェブサイトを世界に発信してみましょう!

     

    ほとんどのレンタルサーバーがPHPに対応していますが、借りる前に確認することをおすすめします。

    ちなみに私が使っているレンタルサーバーはエックスサーバーです。

     

     

    変数

    変数は、$マークから始まります。

    半角英数字、アンダーバーが使えます。

    文末にはセミコロンを入れます。

    以下サンプルコードです。

    <?php
    $name = "hogehoge";
    ?>

     

     

    ブラウザに出力する

    データをブラウザに表示するにはechoまたはprintを使います

    以下サンプルコードです。

    <?php
    $name = "hogehoge";
    echo $name;
    ?>

    これで、ブラウザに「hogehoge」と表示されます。

     

    echoprint はどちらを使ってもOKですが echo が多数派です。

    まずは「echo」でOKです。

     

     

    HTMLの表示

    PHPは、HTMLの中に埋め込むことができます。

    サンプルコードです。

    <?php $name = "太郎";?>
    <p><?php echo $name;?><p>

    とすると、HTMLで言う

    <p>太郎<p>

    と同じ内容になります。

     

    以下のように書くこともできます。結果はどちらも同じです。

    echo <<<HTML
    <p>{$name}</p>
    HTML;

     

    PHPを使うことで、webサイトの内容を動的に変更することができるのです。ユーザー名の表示に使ったりできますね。

     

     

    配列

    配列を使うと、HTMLを短く記述できます。

    以下は、配列を使わない場合のHTMLです。

    <select name="国">
      <option value="アメリカ">アメリカ</option>
      <option value="中国">中国</option>
      <option value="インド">インド</option>
      <option value="イギリス">イギリス</option>
      <option value="日本">日本</option>
    </select>

     

    PHPを使うと以下のように書けます。

    <select name="国">
      <?php
      $country = array('アメリカ', '中国', 'インド', 'イギリス', '日本');
      // 配列の数だけループする
      foreach($country as $val) {
        echo "<option value=\"{$val}\">{$val}</option>";
      }
      ?>
    </select>

     

    データを配列で管理することで、国を増やした時にも、PHPプログラムを編集するだけで自動的に表示できます。編集の効率化ができます。

     

     

    PHPの学習方法について

    PHPにちょっとでも興味が湧いたらAmazonなどで入門書を買ってみましょう!

    きっかけさえ掴めれば、楽しく覚えられるようになるものです。

     

    作りたいものを作る

    プログラミング学習のモチベーションは「作りたいものを作ること」が重要です。

    本の通りにやっても面白くないし、応用できない・・・で終わってしまいます。

    自分の作りたいものをイメージして、それを表示するにはどうしたらいいのか。パズルを解くイメージでプログラムを作っていきます。プログラミングはその過程で体得できるものです。

     

    PHPを使ってHTMLの編集作業を簡略化したり。データベースで図鑑サイトを作っても面白いです。とにかく便利なことができるのがPHPです。それがモチベーション維持にもつながります。

     

    私は、PHPに関する本を5冊買いましたが、よく分からず途中で読むのをやめてしまいました。

    そんな時たまたま見つけた、こちらのnoteのマネをしたことがきっかけでPHPにハマりました。

    こういう時はこう表示したい! ここは自動化できるかも?とやってるうちに段々プログラミングがわかるようになっていきました。

     

    はじめに作ったサイトはモンハンのランキングです。

    投票機能があるwebサイトです。情報をデータベースで管理するウェブアプリです。

    モンハンが好きで「モンハンユーザーの投票サイトがあったらおもしろそうだな。」と思ったことがきっかけでした。

     

    おすすめの本

    本は当たり外れが多いので、本屋に行って「一番読みやすいと思った入門書」を選びましょう。

    知識は人それぞれなので、その人のレベルに合ったものがいいのです。

     

    本選びのポイントとして、ちょっと難しい話題のものはやめておきましょう。

    特に、フレームワーク、テンプレートエンジン、PEARは必要ありませんので、そのような内容が入っているものは避けましょう。これが無くてもひと通りのものは作れます。

     

    そして入門書にプラスしておすすめなのがこちらの本です。

    「PHP逆引きレシピ 第2版」です。

    PHPの機能が網羅された辞書的な本です。パラパラと流し読みして「PHPは何ができるのか?」を確認しましょう。

    覚えようとする学習は挫折につながるので、気になったものから挑戦していくといいと思います。

     

    以上です。

    ぜひPHPで「ウェブサイト」を作ってみましょう!

    まずはマネからはじめましょう!