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

Post on 16-Apr-2017

369 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 — オープンされたファイルポインタをクローズする

これを踏まえて

なんとなくわかった

色々調整してみよう

時間がないので割愛です

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

top related