SlideShare a Scribd company logo
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も出力
<?php

echo "<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 — オープンされたファイルポインタをクローズする
これを踏まえて
なんとなくわかった
色々調整してみよう
時間がないので割愛です
http://localhost:8888/fgetcsv.php
<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.netを見ながら頑張ってみましょう
各地で開催されているPHPカ
ンファレンス
懇親会
他の開発者やスピーカーと直接話すチャンス!
お勧め書籍
「いちばんやさしいPHPの教本」私が書いています。
いま何を作っているのかを考える
自分で考える力がつく
正誤表をご参考にしてくださいm(__)m
まとめ
PHPのマニュアルを是非活用しましょう
出力値に注意しましょう。
入門書はよく選びましょうw
怖がってはいけません
勇気を持って、インターネット上にプログラムを公開し
てみましょう。
とにかく書いてみる!
以上
ご静聴ありがとうございました。
カンファレンスを楽しんでください!
PHP初心者セッション
有限会社アリウープ
柏岡 秀男
twitter,facebook
@kashioka
PHPカンファレンス2016 初心者セッション

More Related Content

PDF
PHPの今とこれから2016
PDF
PHPの今とこれから2015
PDF
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
PDF
RFC: "var" Deprecation
PDF
PHPでセキュリティを真面目に考える
PPTX
PHP x AWS でスケーラブルなシステムをつくろう
PDF
PHPデプロイツールの世界
PDF
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHPの今とこれから2016
PHPの今とこれから2015
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
RFC: "var" Deprecation
PHPでセキュリティを真面目に考える
PHP x AWS でスケーラブルなシステムをつくろう
PHPデプロイツールの世界
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。

What's hot (20)

PDF
フレームワークを使うべき 3 つの理由
PDF
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
PDF
anyenv + phpenv + php-build が便利すぎる件
PDF
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
PDF
最近の PHP の話
PDF
PHP カンファレンス福岡 参加報告
PDF
Windows で PHP をビルドしてみた
PDF
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
PDF
はじめてLaravelさわった 第86回php勉強会
PDF
HTTPメッセージ、PHPの 事情ば分かっとっと?
PPTX
今日から始めるLaravel
PPTX
PHPで並列処理する ライブラリを作った
PDF
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
PDF
PHPとJavaScriptの噺
PDF
いまどきのPHP開発現場 -2015年秋-
ODP
PHP With Windows binary
PDF
Laravel 5.1 LTSでサービスを作る
PDF
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
PDF
PHPカンファレンス2014の懇親会飛び込みLT資料
フレームワークを使うべき 3 つの理由
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
anyenv + phpenv + php-build が便利すぎる件
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
最近の PHP の話
PHP カンファレンス福岡 参加報告
Windows で PHP をビルドしてみた
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
はじめてLaravelさわった 第86回php勉強会
HTTPメッセージ、PHPの 事情ば分かっとっと?
今日から始めるLaravel
PHPで並列処理する ライブラリを作った
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
PHPとJavaScriptの噺
いまどきのPHP開発現場 -2015年秋-
PHP With Windows binary
Laravel 5.1 LTSでサービスを作る
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
PHPカンファレンス2014の懇親会飛び込みLT資料
Ad

Viewers also liked (20)

PPTX
安全なPHPアプリケーションの作り方2016
PPTX
PHPerだってMicroservicesしたい!
ODP
フレームワーク
PPT
オープンソースカンファレンス2009Nagoya
PDF
PHP開発とクラウド
PPT
Cake Php開発事例
PDF
Laungage Update PHP編
PPT
CakePHP PHP Framework
PDF
はじめてのUser-Agent文字列
PPTX
Phpフレームワーク 「laravel」でブログを作ろう
PDF
PHPによるユニットテスト入門
PPTX
CakePHP を使ってよかったこと
PDF
安全なPHPアプリケーションの作り方2013
PPTX
PHP×コミニュケーションロボット
PPTX
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
PDF
フレームワーク入門書の決定版が完成
PDF
PHP超入門@LL温泉
PDF
8時間耐久PHPUnitの教室
PDF
たのしい独自フレームワーク
PDF
今、最もイケてるPHPフレームワークLaravel4
安全なPHPアプリケーションの作り方2016
PHPerだってMicroservicesしたい!
フレームワーク
オープンソースカンファレンス2009Nagoya
PHP開発とクラウド
Cake Php開発事例
Laungage Update PHP編
CakePHP PHP Framework
はじめてのUser-Agent文字列
Phpフレームワーク 「laravel」でブログを作ろう
PHPによるユニットテスト入門
CakePHP を使ってよかったこと
安全なPHPアプリケーションの作り方2013
PHP×コミニュケーションロボット
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
フレームワーク入門書の決定版が完成
PHP超入門@LL温泉
8時間耐久PHPUnitの教室
たのしい独自フレームワーク
今、最もイケてるPHPフレームワークLaravel4
Ad

Similar to PHPカンファレンス2016 初心者セッション (20)

PPTX
Php初心者セッション2014ppt
PDF
Phpcon tokyo 20120_bigginer
PPTX
PHPCON_TOKYO_2022_Bigginer.pptx
PDF
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PDF
はじめての php
PDF
第1回勉強会
KEY
WCO2012「PHP教室」
PDF
【CodeCamp】PHP教科書サンプル
PDF
Php s1
PPTX
PHP初心者セッション2013
PPTX
PHP基礎勉強会
PDF
Php1
PDF
Modern PHP Programming @ PFI Seminar
PDF
PHPの今とこれから 2013
PDF
PHP で実行中のスクリプトの動作を下から覗き見る
PDF
Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー
PPTX
詳説ぺちぺち
PDF
Phpcon2001 in tokyo
PDF
PHPの今とこれから2014
PPT
2009 PHP初心者
Php初心者セッション2014ppt
Phpcon tokyo 20120_bigginer
PHPCON_TOKYO_2022_Bigginer.pptx
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
はじめての php
第1回勉強会
WCO2012「PHP教室」
【CodeCamp】PHP教科書サンプル
Php s1
PHP初心者セッション2013
PHP基礎勉強会
Php1
Modern PHP Programming @ PFI Seminar
PHPの今とこれから 2013
PHP で実行中のスクリプトの動作を下から覗き見る
Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー
詳説ぺちぺち
Phpcon2001 in tokyo
PHPの今とこれから2014
2009 PHP初心者

More from Hideo Kashioka (7)

PDF
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
PDF
スクラム初心者セッション.pdf
PPTX
XP祭りオフショアメンバーのいるスクラム.pptx
PDF
日本とオフショアのハイブリットチームのスクラム
PDF
Phpcon2020sponsor lt php8_on_lambda
PPTX
明日の開発カンファレンスパネル
PPT
Php+Word Press
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
スクラム初心者セッション.pdf
XP祭りオフショアメンバーのいるスクラム.pptx
日本とオフショアのハイブリットチームのスクラム
Phpcon2020sponsor lt php8_on_lambda
明日の開発カンファレンスパネル
Php+Word Press

PHPカンファレンス2016 初心者セッション