SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
序章: PHPとは
■ PHPとは
PHP(Hypertext Pre-processer)は、プログラミング言語の一種で、HTMLの文書内で記
述を行えることが特徴です。
世の中には200種以上のプログラミング言語があると言われていますが、インターネット
が広く普及して以降、PHPは全てのプログラミング言語の中でシェア率ベスト5に入ってお
り、その中でもWebに向いているプログラミング言語の中ではシェア率1位で、世界中で多
くの人が使用しております。
2013年9月 TIOBE発表プログラミング言語ランキング
プログラミング言語

シェア率

1

C

16.975%

2

Java

16.154%

3

C++

8.664%

4

Objective-C

8.561%

5

PHP

6.430%

6

C#

5.564%

7

(Visual)Basic

4.837%

8

Python

3.169%

9

JavaScript

2.015%

10

Transact-SQL

1.997%
Copyright © TribeUniv All Rights Reserved.
序章: PHPとは
■ PHPの使用例
PHPは様々な企業で利用しており、有名なところでFacebook、Yahoo、GREEなどが
PHPを使用しております。
具体的にどのような場面でPHPを利用しているかというと、例えばFacebookの場合、友
達情報や自分の名前など、個人ごとに異なる情報の読み込みから表示、ユーザ認証(ログイ
ン)など、様々なところでPHPを利用し、結果として私達が普段見ているFacebookのページ
となっております。
例) Facebook ユーザ認証ページ
メールアドレスやパスワードを入力しログインボタン
を押した際、PHPで該当するメールアドレスとパスワー
ドの組み合わせのユーザが存在するか照会し、
存在した場合は該当ユーザのトップページ
存在しなかった場合はエラーページ
を表示している。

Copyright © TribeUniv All Rights Reserved.
序章: PHPとは
■ プログラミング言語(PHP)はなぜ必要か
PHPに限らず、Webページ作成の上でなぜプログラミング言語が必要かというと、表示
する内容を「動的」に変えることにより、よりリッチなWebページ作成が可能となるためで
す。
現在時刻を表示: http://codecamp.lesson.codecamp.jp/date.php

例えばブラウザで「ページを表示した瞬間の時刻」をWebページに表示したいといった
場合、時刻というのは常に変動している動的な値であり、HTMLで現在時刻を表現すること
はできません。
しかし、PHPを代表としたプログラミング言語を利用すると、簡単に現在時刻を表示する
ことができます。
Copyright © TribeUniv All Rights Reserved.
序章: PHPとは
■ PHPを体験(RPG)
まずは実際にPHPを使った動的な動きがあるページを体験して頂きたいと思います。
テキストエディタを利用し、 参照にある内容をコピーしたファイルを作成しましょう。
参照: http://codecamp.lesson.codecamp.jp/RPG_html.txt
ファイル作成が終わったらをFileZillaでファイルアップロードを行った後、Google
Chromeより閲覧してみましょう。ファイルアップロードの必要な「ホスト」「ユーザ名」
「パスワード」の情報は、CodeCampのプロフィール内にあるFTPアカウントに記載してあ
ります。

ファイル名: RPG.php
アップロード先: /htdocs/RPG.php
URL: http://プロフィールページ記載のURL/RPG.php

Copyright © TribeUniv All Rights Reserved.

【講師補足】プロトコルは「SFTP」、ログオンの種類を「通常」にする必要があります。
序章: PHPとは
RPGの戦闘画面のようなページが閲覧できたと思いますが、作成したファイルでPHPは
利用しておらず、敵、味方ともに与えるダメージは、「10」で固定されています。

ゲームのようにダメージを固定でなくアクセス毎に変えるためには、表示内容を動的に変
えることができるプログラミング言語(PHP)が必要となります。
ダメージに幅が出るよう、PHPを使い、動的な動きを実現してみましょう。
コピーで構いませんので、 お手本を参考に先ほどのファイルを改修してみましょう。
※青字の部分が追加又は変更箇所となります。
参照: http://codecamp.lesson.codecamp.jp/RPG_php.html
書き写しが終わったらをFileZillaで RPG.phpファイルを上書きし、Google Chromeより
閲覧してみましょう。
Copyright © TribeUniv All Rights Reserved.
序章: PHPとは
今回PHPを使って、「プレイヤー及び敵の体力設定(HP)」や「プレイヤー名の変更」、
「プレイヤー及び敵の攻撃ダメージ幅の設定」を行えるようにしました。
この中でもダメージ幅は「rand(1, 9);」という記述により、PHPでランダムな数字を毎
回表示するという、非常に分かりやすい「動的」な動きを実現しております。

この場合は
1が最低値
9が最大値
この数値を変えると・・・
Copyright © TribeUniv All Rights Reserved.
序章: PHPとは
このようにWebページ作成の上で必須となるプログラミング言語(PHP)ですが、HTMLや
CSSと異なり、PHPが行っている処理内容というのは、ユーザ(ブラウザ)から見ることがで
きません。先ほど作成したRPG.phpのWebページのソースを表示してみましょう。

表示されるのはHTMLとCSSだけで、PHPで記述した部分は表示されません。この詳し
い仕組みについては別途説明しますが、PHPを利用することで「ユーザから見えないように
裏で処理」を行うことができるのも特徴の1つです。
Copyright © TribeUniv All Rights Reserved.
序章: PHPとは
■ PHPを体験(ひとこと掲示板)
次に「ユーザ同士のやり取り」があるページを体験して頂きたいと思います。
以下のURLにアクセスし、掲示板に書き込みをしてみましょう。
参照: http://codecamp.lesson.codecamp.jp/bbs.php

この掲示板は、PHPとHTMLの組み合わせ100行で作られています。
参照: http://codecamp.lesson.codecamp.jp/bbs_code.txt

Copyright © TribeUniv All Rights Reserved.

【実践】何も入力しないで送信や、名前を20文字以上入力して送信を試してもらい、PHPで入力値のチェックを行っている
のを知ってもらう。
序章: PHPとは
「Aさんが書き込みしたコメントをBさんやCさんも見ることができる」という当たり前
のように思えるWebページですが、これを実現するためには、「書き込みされた内容の保
存」と「過去に書き込みされた内容の表示」という処理が必要になります。
TwitterやFacebook、ブログなど、世の中には多数のユーザ同士でコミュニケーション
を行うWebページがありますが、どれも基本的な仕組みはひとこと掲示板と同じで、 書き
込まれた内容を保存するという「データ保存」処理を利用しています。データ保存はHTML
やCSSでは行えず、プログラミング言語(PHP)を利用する必要があります。

現時点では100行程度で作成されたひとこと掲示板(PHP)の仕組みは全くといっていいほ
ど分からないと思いますが、実はこの中にプログラムの基礎的な内容がほとんど全て詰まっ
ています。よって、
■ ひとこと掲示板の記述内容(ソースコード)を理解できる
■ ひとこと掲示板を自力で作れる
上記を最初の目標とし、PHP講義を進めていきます。

Copyright © TribeUniv All Rights Reserved.

【講師補足】データを保存しているファイルをURL指定し見てもらっても良いかもしれません
http://codecamp.lesson.codecamp.jp/bbs.txt

Mais conteúdo relacionado

Mais procurados

PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。Yuji Otani
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Yuji Otani
 
プロ生Lt20130622
プロ生Lt20130622プロ生Lt20130622
プロ生Lt20130622erthejp
 
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」Preferred Networks
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!道化師 堂華
 
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例Yuji Otani
 

Mais procurados (6)

PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
 
プロ生Lt20130622
プロ生Lt20130622プロ生Lt20130622
プロ生Lt20130622
 
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!
 
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
 

Destaque

よぎった時にすぐやるべし
よぎった時にすぐやるべしよぎった時にすぐやるべし
よぎった時にすぐやるべししーちゃん
 
ある最適停止問題の解についての考察
ある最適停止問題の解についての考察ある最適停止問題の解についての考察
ある最適停止問題の解についての考察Toshiyuki Shimono
 
Hadoop conferencejapan2011
Hadoop conferencejapan2011Hadoop conferencejapan2011
Hadoop conferencejapan2011Ichiro Fukuda
 
Visual Studio と Team Foundation Server / Visual Studio Team Services で実現するビル...
Visual Studio  と Team Foundation Server / Visual Studio Team Services で実現するビル...Visual Studio  と Team Foundation Server / Visual Studio Team Services で実現するビル...
Visual Studio と Team Foundation Server / Visual Studio Team Services で実現するビル...Masaki Takeda
 
スタートアップ立ち上げマニュアル
スタートアップ立ち上げマニュアルスタートアップ立ち上げマニュアル
スタートアップ立ち上げマニュアルTakaya Shinozuka
 
201411仕事しながら研究する
201411仕事しながら研究する201411仕事しながら研究する
201411仕事しながら研究するMasashi Okawa
 

Destaque (6)

よぎった時にすぐやるべし
よぎった時にすぐやるべしよぎった時にすぐやるべし
よぎった時にすぐやるべし
 
ある最適停止問題の解についての考察
ある最適停止問題の解についての考察ある最適停止問題の解についての考察
ある最適停止問題の解についての考察
 
Hadoop conferencejapan2011
Hadoop conferencejapan2011Hadoop conferencejapan2011
Hadoop conferencejapan2011
 
Visual Studio と Team Foundation Server / Visual Studio Team Services で実現するビル...
Visual Studio  と Team Foundation Server / Visual Studio Team Services で実現するビル...Visual Studio  と Team Foundation Server / Visual Studio Team Services で実現するビル...
Visual Studio と Team Foundation Server / Visual Studio Team Services で実現するビル...
 
スタートアップ立ち上げマニュアル
スタートアップ立ち上げマニュアルスタートアップ立ち上げマニュアル
スタートアップ立ち上げマニュアル
 
201411仕事しながら研究する
201411仕事しながら研究する201411仕事しながら研究する
201411仕事しながら研究する
 

Semelhante a 【CodeCamp】PHP教科書サンプル

PHP Now and then 2018 : WordPress Special Edition
PHP Now and then 2018 : WordPress Special EditionPHP Now and then 2018 : WordPress Special Edition
PHP Now and then 2018 : WordPress Special EditionRui Hirokawa
 
Phpでアプリケーションサーバー
PhpでアプリケーションサーバーPhpでアプリケーションサーバー
Phpでアプリケーションサーバーk-motoyan
 
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際Tetsuji Koyama
 
PHPカンファレンス2015
PHPカンファレンス2015PHPカンファレンス2015
PHPカンファレンス2015Daisuke Kasuya
 
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッションPHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッションHideo Kashioka
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話Shohei Tai
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)Shinichiro Yoshida
 
CodeIgniter Con Tokyo 2011 資料
CodeIgniter Con Tokyo 2011 資料CodeIgniter Con Tokyo 2011 資料
CodeIgniter Con Tokyo 2011 資料Takako Miyagawa
 
php.netの歩き方
php.netの歩き方php.netの歩き方
php.netの歩き方Rui Hirokawa
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)parrotstudio
 
Lt資料 php7.0 張田浩明
Lt資料 php7.0 張田浩明Lt資料 php7.0 張田浩明
Lt資料 php7.0 張田浩明hharita
 
Lt資料 php7.0 張田浩明
Lt資料 php7.0 張田浩明Lt資料 php7.0 張田浩明
Lt資料 php7.0 張田浩明浩明 張田
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いPHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いMasataka Kono
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
CakePHP PHP Framework
CakePHP PHP FrameworkCakePHP PHP Framework
CakePHP PHP Frameworkryota ichie
 
three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現Kei Yagi
 

Semelhante a 【CodeCamp】PHP教科書サンプル (20)

PHP Now and then 2018 : WordPress Special Edition
PHP Now and then 2018 : WordPress Special EditionPHP Now and then 2018 : WordPress Special Edition
PHP Now and then 2018 : WordPress Special Edition
 
Phpでアプリケーションサーバー
PhpでアプリケーションサーバーPhpでアプリケーションサーバー
Phpでアプリケーションサーバー
 
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
 
PHPカンファレンス2015
PHPカンファレンス2015PHPカンファレンス2015
PHPカンファレンス2015
 
第1回勉強会
第1回勉強会第1回勉強会
第1回勉強会
 
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッションPHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
 
はじめての php
はじめての phpはじめての php
はじめての php
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
 
CodeIgniter Con Tokyo 2011 資料
CodeIgniter Con Tokyo 2011 資料CodeIgniter Con Tokyo 2011 資料
CodeIgniter Con Tokyo 2011 資料
 
gRPC入門
gRPC入門gRPC入門
gRPC入門
 
php.netの歩き方
php.netの歩き方php.netの歩き方
php.netの歩き方
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
 
Lt資料 php7.0 張田浩明
Lt資料 php7.0 張田浩明Lt資料 php7.0 張田浩明
Lt資料 php7.0 張田浩明
 
Lt資料 php7.0 張田浩明
Lt資料 php7.0 張田浩明Lt資料 php7.0 張田浩明
Lt資料 php7.0 張田浩明
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いPHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
CakePHP PHP Framework
CakePHP PHP FrameworkCakePHP PHP Framework
CakePHP PHP Framework
 
three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現
 

Último

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 

Último (7)

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 

【CodeCamp】PHP教科書サンプル