PHPカンファレンス2016 初心者セッション
-
Upload
hideo-kashioka -
Category
Technology
-
view
373 -
download
1
Transcript of PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016
PHP初心者セッション日本PHPユーザ会 有限会社アリウープ 柏岡 秀男
アジェンダ
自己紹介
PHPの文法
実践編
おまけ
自己紹介
有限会社アリウープ
WEBシステム開発
それにまつわるすべて
特に火消しを行うことが多いです
PHPとは
PHPとは
PHP is a popular general-purpose scripting language that is especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
http://php.net/より
PHPとは
WEB開発に適した言語
PHPの歴史
1994年にRasmusがオンラインで公開している経歴書のアクセス履歴を調べるために使われていました
彼はそのスクリプト群を「Personal Home Page Tools」と名付けました。
http://php.net/manual/ja/history.php.php
PHPの環境
LAMP LAPP LEMP
Linux Apache MySQL PHP
Linux Apache Postgre PHP
Linux Nginx MariaDB PHP
呼び方はOS+Web Server+Database+Script
どんな環境ではじめるか
AWS Microsoft Azure Google App Engine IBM Softlayear
ホスティング
レンタルサーバ
仮想環境 Vmware
VirtualBox
手軽にはじめるなら
XAMPP MAMP
サーバーいらず
cloud9 http://c9.io https://ide.c9.io/kashioka/test
環境は思いの外すぐにできます。 ぜひ、試してみましょう。
PHPの概要
PHPの基本PHPの文法は直感的です。
他の言語をやっていない方が戸惑いません。
WEB構築に最適な言語です。
時に実務で使うには色々出てきます
※個人の感想です
PHPタグ
<?php ?> PHPモード;
HTMLのタグのようなイメージ;
<html> <body> <?php
echo "こんにちは";
?> </body> </html>
一番かんたんなサンプル
http://localhost:8888/1st.php
拡張子
ファイル名.php
構文変数は$で始まる;
文末は;で終わる
型宣言などは厳密に行わなくてOKだが後々面倒……
簡単なサンプルを見てみましょう
<?php$a = 'こんにちは';echo $a;
PHPからHTMLも出力
<?phpecho "<html>";echo "<body>";echo "これはPHPです";echo "</body>";echo "</html>";
http://localhost:8888/sample0.php
結合したり計算したり
.(ドット)を使って文字列の結合ができます。
数値の演算は+-*/
<?php $a = 1; $b = 2; echo $a + $b; echo '<br>'; echo $a . $b;
http://localhost:8888/sample4.php
<?php $a = "phpcon"; $b = 2015; echo $a . "/" . $b + 1;
http://localhost:8888/sample2.php
PHPの関数スクリプト言語の関数は親しみやすい
なんとなく関数を覚えていればOK
if foreach strlen htmlspecialchars nl2br mb_convert_encording
if ~ else (endif)
条件判定を行う
条件を満たす満たさないの判断を行う
<?php if($a) { echo '条件を満たす'; } else { echo '条件を満たさない'; }
http://localhost:8888/if.php
<div> <?php if($a): ?> <div id='a'>満たす</div> <?php else: ?> <div id=''>満たさない</div> <?php endif; ?> </div>
http://localhost:8888/div.php
HTML組み込み型のサンプル
Wordpressの場合
wp-content/themes/twentysixteen/header.php
foreach
<?php $numbers = array('2','3','4','5','6');
foreach($numbers as $val) { echo $val;
}
htmlspecialchars&"'<>といったHTMLで意味ある文字をhtmlの表示形式に変換する =
javascript、不正なsql実行等によるセキュリティーリスクを回避する。
入力されたデータは出力する直前に必ずhtmlspecialcharsを通す
htmlspecialchars<?php $new ="<a href='test'>Test</a>"; echo $new;
<?php $new ="<a href='test'>Test</a>"; echo htmlspecialchars($new,ENT_QUOTES);
http://localhost:8888/sample3.php
ファイルの読み込み
htmlの量産にも便利
require_once
<?php require_once('header.html'); require_once('body.html'); require_once('footer.html');http://localhost:8888/require.php
値を取得する
入力フォームから入力された値
$_POST
http://localhost:8888/get.php?id=123456
$_GET
値の取得
<?php echo $_GET['id']; echo $_POST['id'];
値の確認
var_dump()
これくらいわかればOK
PHPのオンラインマニュアルの充実度が凄い
PHPの歴史
言語リファレンス
実践編 世界の人口ランキングを表示するページを作って
データを探す
プログラムで扱うためにはCSVやTSVといったデータが手間を省ける
エクセルデータでもCSVには出来る
http://data.worldbank.org/data-catalog/Population-ranking-table
CSVを読み込む
関数名がわからなければとりあえず検索
fgetcsvってのが見つかった
http://php.net/manual/ja/function.fgetcsv.php
がんばって読むとわかる
わからなければサンプルを
サンプルを使ってみる
動かしてみる
http://localhost:8888/1.php
csvを差し替えると、なんか出てる
わからないところは調べる
調べてみたらfopen — ファイルまたは URL をオープンする
whileループは、PHPで最も簡単なタイプのループです。
count — 変数に含まれるすべての要素、 あるいはオブジェクトに含まれる何かの数を数える
fclose — オープンされたファイルポインタをクローズする
これを踏まえて
なんとなくわかった
<table border=1> <?php ini_set('display_errors',1); $row = 1; if (($handle = fopen("POP.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { if($data[3]) { echo "<tr>"; echo "<td>" . htmlspecialchars($data[3],ENT_QUOTES) ."</td><td>" . htmlspecialchars($data[4],ENT_QUOTES) . "</td>"; echo "</tr>"; } } fclose($handle); } ?> </table>
各地で開催されているPHPカンファレンス
懇親会
他の開発者やスピーカーと直接話すチャンス!
お勧め書籍
「いちばんやさしいPHPの教本」私が書いています。
いま何を作っているのかを考える
自分で考える力がつく
正誤表をご参考にしてくださいm(__)m
まとめPHPのマニュアルを是非活用しましょう
出力値に注意しましょう。
入門書はよく選びましょうw
怖がってはいけません
勇気を持って、インターネット上にプログラムを公開してみましょう。
とにかく書いてみる!
以上
ご静聴ありがとうございました。 カンファレンスを楽しんでください!
PHP初心者セッション有限会社アリウープ
柏岡 秀男
twitter,facebook @kashioka