某Webアプリ、スマホアプリ開発の企業に勤めているエンジニアの日記です。主に、技術系記事や本の要約を発信します。

PHPでの開発を始めるので、概要をまとめてみた

役割

  • HTMLを作ること
  • データを管理すること

ローカル開発環境

サーバーにアップせずにPHPが書き換えたHTMLを確認するために必要な作業

必要なインストール

  • PHP
  • Webサーバー

上記はインストールがかなり難しい。

なので、インストールをアシストしてくれる、XAMPPやMAMPを使う。

MAMPとは

MacintoshApacheMySQLPHPを省略してつなげた名前。

簡単にWeb開発環境を立ち上げられるようにするために必要なソフトウェアをパッケージ化したもの。

XAMPPとほぼ一緒。開発元が違う。

RubyPythonを使う人向け。

コードの書き方

// 最初に<?php ?> で囲う。
<?php echo 'こんにちは!';  // こんにちは!と表示される。 ?>  
<?php echo 'こんにちは!' . date('l');  // こんにちは!Mondayと表示される。
?>  

// 変数
<?php 
    $message = 'こんにちは' . date('l');
?>
<?= $message;  // こんにちは!Mondayと表示される ?>  

// 乱数
<?php 
    $n = mt_rand(1, 3)  // 1以上3以下
?>

// ファイルをインポートする
<?php 
    include('ファイル名')
// この記述だけで反映される
// 以降にHTML記述がなければ、閉じタグ不要
?>

// HTMLタグの中に文字列を記述する時
<title>
    <?= htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); // 別ファイルで表示させたい値を、$titleに代入する
    ?>
    PHPのサイト
</title>

// キャスト
<?php
    $x = (string) 10;    // int型の10を、string型の'10'に変換
?>

// 変数を調査するとき
<?php 
    var_dump($x)
?>

// 連想配列(JSだとオブジェクトに近い?)
<?php 
    $hashira = [
        '水柱' => '冨岡義勇'    // key => value
    ];
    echo $hashira['水柱'];  // 冨岡義勇と表示される
    // keyはstring型かint型のみOK
?>

// 関数の定義
<?php 
    function 関数名($引数1, $引数2) {
        // 処理
        return 返り値;
    }
    関数名($実引数1, $実引数2);
?>

// アクセス修飾子
<?php 
    class Human{
    // プロパティ
        public $name;  // プロパティをクラスの外に公開する
        protected $birthday;
        private $gender;  // プロパティをクラスの外に公開しない。基本的にprivate

    // メソッド
        public function walk() {
            echo '歩く'.PHP_EOL;
        }

        public function eat() {
            echo '食べる'.PHP_EOL;
        }
    }
?>

// コンストラクタ(上の続き)
<?php 
    $human = new Human();
    $human -> eat();
    $human -> walk();
?>