Slide 1

Slide 1 text

PHP で作る はじめての Web サイト PHP 編 YouTube Live (2020.6.25 Thur. 21:00~) CTO と VPoE が初学者向けに講義する オンライン勉強会です。 随時質問なども受け付けていますので、 お気軽にどうぞ。 ハッシュタグ #mu_zaru 後編

Slide 2

Slide 2 text

話す人 現役のエンジニア二人 赤貝が好きな CTO と デザイン勉強中のエンジニア @mu_vpoe エンジニアリングMgr。 チームづくり、採用。 Twitter 担当。 数学が好き。 ムー zaru @zaru CTO, Love 赤貝, JavaScript, Firebase, Web Components.

Slide 3

Slide 3 text

今日、作るもの

Slide 4

Slide 4 text

PHP の 書き方 から学ぶ! ● PHP の書き方 ● 変数とは ● 配列とは ● if で条件分岐 ● foreach でループ処理 ● PHP 標準関数の紹介 ● GET / POST でユーザ入力値チェック ● セッションでデータ一時保存 PHP を書き始めるための、最初の一歩を踏みやすくする!

Slide 5

Slide 5 text

PHP のコードは これで囲む PHP は で囲む

Slide 6

Slide 6 text

PHP は HTML の中に書ける = ?> で短く書くこともできる

Slide 7

Slide 7 text

変数名は $ から始まる 変数 箱に値を入れる、 という言い方もできる 変数とは、値にラベルを付けること ムー $name 値 ラベル ムー 厳密には違うので…あくまでイメージです

Slide 8

Slide 8 text

配列は [ ] で囲う ブラケットという 配列とは、複数の値をまとめること ムー ザル ちゃんねる $users , , 配列の順番は 0 から始まる この順序のことを 「インデックス」と呼ぶ 0 1 2

Slide 9

Slide 9 text

if で条件分岐をする if ( 条件式 ) { // 条件が通った場合の処理 } elseif ( 条件式 ) { // 次に条件が通った場合の処理 } else { // 条件が通らなかった場合の処理 } 処理の流れ

Slide 10

Slide 10 text

条件式は true か false で判断 true false 10 > 5 5 <= 5 5 === 5 'zaru' !== 'mu' 10 > 5 && 3 < 5 1 < 3 || 5 > 3 10 < 5 4 >= 5 5 !== 5 'mu' !== 'mu' 10 > 5 && 8 < 5 3 < 1 || 5 > 3 if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) ◎ ✖

Slide 11

Slide 11 text

if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) 単体でも true か false 判定できる true false true 1 ['a'] -1 'false' false 0 '' [] null '0' 文字列の '0' (ゼロ) でも false になるので注意! この判定条件は プログラミング言語によって違います

Slide 12

Slide 12 text

if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) if ( ) true false true 1 ['a'] -1 'false' false 0 '' [] null '0' 文字列の '0' (ゼロ) でも false になるので注意! この判定条件は プログラミング言語によって違います 単体の値での条件判定は意図せぬ結果になること があるので、可能なら比較演算子を使って、条件 を明示した方がバグが少ない 単体でも true か false 判定できる

Slide 13

Slide 13 text

ループ処理は foreach foreach ( [a, b, c] as a ) { // a を使った処理 } foreach ( [b, c] as b ) { // b を使った処理 } foreach ( [c] as c ) { // c を使った処理 } Step.1 Step.2 Step.3

Slide 14

Slide 14 text

標準で用意されている関数が便利 PHP には、たくさんの便利 な関数が用意されている。 こういうのあれば良いな… というのは大体あったりす る。

Slide 15

Slide 15 text

配列の中から指定の値を検索 $result = array_search( 検索したい値, 配列 ) array_search() という関数を使えば、配列の中から指定の値を 検索し、インデックス位置を取得できる。

Slide 16

Slide 16 text

ユーザからデータを受け取るには GET と POST の違いを理解する

Slide 17

Slide 17 text

GET は URL にデータが入っている GET タイプ https://example.com/?key=value&name=mu-zaru key は value で name は mu-zaru データ送る GET データを $_GET にセット $_GET['key'] // value が入っている $_GET['name'] // mu-zaru が入っている

Slide 18

Slide 18 text

POST は見えない所に データが入っている POST タイプ https://example.com/ key は value で name は mu-zaru データ送る POST データを $_POST にセット $_POST['key'] // value が入っている $_POST['name'] // mu-zaru が入っている key=value&name=mu-zaru +

Slide 19

Slide 19 text

GET と POST の違い GET POST URL にデータがのる 送れるデータ量に制限がある テキストデータのみ URL は変わらない 送れるデータ量は制限がない 画像なども送れる 通常のページ移動は GET を使う ( デフォルトが GET ) フォーム送信やアップロードなど ユーザのアクションは POST を使う

Slide 20

Slide 20 text

セッションを使って ユーザデータを 一時的に保存する

Slide 21

Slide 21 text

データを PHP だけで保存できる 私は zaru です zaru さんのデータを データベースに 問い合わせます データベース zaru の データ データベース

Slide 22

Slide 22 text

データを PHP だけで保存できる 私は zaru です zaru さんのデータを データベースに 問い合わせます データベース zaru の データ zaru さんのデータを セッションに 問い合わせます zaru の データ セッション データベースなくても、データの保存や参照ができる 私は zaru です データベース セッション

Slide 23

Slide 23 text

データを PHP だけで保存できる 私は zaru です zaru さんのデータを データベースに 問い合わせます データベース zaru の データ zaru さんのデータを セッションに 問い合わせます zaru の データ セッション データベースなくても、データの保存や参照ができる 私は zaru です データベース セッション セッションは、あくまで一時的なデータを保存す る用途です。永続的にデータを保存したい場合は データベースを使いましょう。

Slide 24

Slide 24 text

$_SESSION でデータにアクセス session_start(); を実行すると自動でセッションが開始され る。その後、 $_SESSION を使ってデータにアクセスできる。 セッションデータは、他のページに移動しても保存されている。

Slide 25

Slide 25 text

ライブコーディング

Slide 26

Slide 26 text

ありがとうございました! 次回は…未定です…が! いつも通り YouTube ライブ、もしくは普通の編集動画どちらかを お届けします。告知は Twitter でします。 @mu_vpoe 質問感想など呟いていただけると嬉しいです! ハッシュタグ #mu_zaru