php初心者セッション2013

40
PHP 初初初初初初初初PHP 初初初初 初初初初初初初初初 初初初初初 初初 初初

Upload: hideo-kashioka

Post on 20-Jun-2015

1.582 views

Category:

Documents


2 download

DESCRIPTION

2013年9月14日 大田区産業プラザ PHPカンファレンス

TRANSCRIPT

Page 1: PHP初心者セッション2013

~ PHP初心者セッション~ 

PHPユーザ会有限会社アリウープ代表取締役 柏岡 秀男

Page 2: PHP初心者セッション2013

有限会社アリウープWEBシステム開発ITコンサルWordpress,Drupal導入、カスタマイズベンダーマネージメント

Page 3: PHP初心者セッション2013

PHPの基本

Page 4: PHP初心者セッション2013

PHPとは?• HTML埋め込み型スクリプト言語• サーバサードスクリプト• <? PHP ?>の開始、終了タグにより

PHPモードに入る• (?>は無い場合もある)

Page 5: PHP初心者セッション2013

PHP動作の仕組み

<html><body> <?php echo “hallo”; echo date(“Ymd”); ?></body></html>

<html><body>Hallo20130914</body></html>

Hallo20130914

Page 6: PHP初心者セッション2013

簡単なサンプル<html>

    <head>        <title>サンプル </title>    </head>    <body>        <?php        echo “PHPスクリプトです ";        ?>     </body></html>

Page 7: PHP初心者セッション2013

何が得意で、何が苦手か得意その1HTMLとの親和性が高い。

<html>

<body>

<?php echo “Hello World” ?>

</body>

</html>

Page 8: PHP初心者セッション2013

何が得意で、何が苦手か得意その2Webに関連ある関数が豊富。setcookie関数header関数mail関数image関数XML関数ネットワーク関数

Page 9: PHP初心者セッション2013

何が得意で、何が苦手か得意その 3

メジャー OSSの多くが PHPで出来ている• ブログ:Wordpress

• CMS:Drupal

• EC:EC-Cube

• SNS:OpenPNE

Page 10: PHP初心者セッション2013

何が得意で、何が苦手か得意その 4

• マニュアルがすばらしい• http://www.php.net/manual/ja/

• 副読本に

出版:ソフトバンククリエイティブPHPハンドブック著:柏岡秀男

Page 11: PHP初心者セッション2013

何が得意で、何が苦手か苦手その1• サーバに通信してもらわないと仕事が出来ない。–Javascript( jquery)– Ajaxも結局はサーバと通信している

Page 12: PHP初心者セッション2013

何が得意で、何が苦手か• 苦手その2• PHPが使えるサーバが無いと動かない。–Javascript等はブラウザが処理を行う。

– PHPがサーバにインストールされている必要がある

Page 13: PHP初心者セッション2013

何が得意で、何が苦手か• 苦手その 3

• 高速ではない

Page 14: PHP初心者セッション2013

何が得意で、何が苦手か• 苦手その 4

• PHPだけでリッチなページが作れる訳ではない

Page 15: PHP初心者セッション2013

実際に出来ることは?

• 問い合わせフォームから直接メール送信• 商品一覧、カタログサイト• 楽天や Amazonから情報を引っ張る• Twtter,Facebookへの投稿アプリ• とか以前書いていましたが、Webで出来てる事は大体できます(サーバ側のみ)

Page 16: PHP初心者セッション2013

実際使うには• Linux、MacOS、Windows等多くのOSで動かすことが出来る。

• でも使えるサーバを借りてしまえばいい• サーバー管理の必要無し• レンタルサーバからクラウドへ

Page 17: PHP初心者セッション2013

実際使うには• 専用サーバ• レンタルサーバ

• バージョンアップも考えないといけない

Page 18: PHP初心者セッション2013

すぐに使える Paas

Paas(Platform as a Service)

• Windows Azure

• Amazon Elastic Beantalk

• Engine Yard…

Page 19: PHP初心者セッション2013

Paasと Iaasの違い

http://www.engineyard.co.jp/paas-vs-iaasEngine Yardのページ

Page 20: PHP初心者セッション2013

インストール( Unix)• 大抵のディストリビュータで初めから利用可能

• 個別のオプション等を利用したい場合はソースよりインストール

• http://www.php.net/manual/ja/install.unix.php

Page 21: PHP初心者セッション2013

XAMPP,MAMP

• 一括インストール• PHP4,5の切り替え• 各種管理ツールが付属• http://www.apachefriends.org/en/

xampp.html

Page 22: PHP初心者セッション2013

Vartual Box+chef+Vagrant

• 設定ファイルでサーバ環境を管理• Github等で環境を共有できる• 利用には Rubyのインストールが必要• バージョン管理に便利• Rubyや Vagrantのバージョンに注意

Page 23: PHP初心者セッション2013

より便利に

Page 24: PHP初心者セッション2013

ライブラリ• PEAR( PHP Extension and

Application Repository ) PHPで書かれたライブラリ

• PECL(The PHP extension communiyu library)

• Ajax,DB,キャッシュ等の機能を提供• PHPのネイティブ関数でも可能であるが、簡略、使いやすくなるものが多い

Page 25: PHP初心者セッション2013

フレームワーク

• 14:50より小展示ホールにてフレームワークアップデート

Page 26: PHP初心者セッション2013

フレームワーク• 比較的メジャーなフレームワーク

– CakePHP – Symfony– Zend Framework– CodeIgniter

–マイクロフレームワーク– FuelPHP– Lithum– SILEX

• 使いやすいものを使う

Page 27: PHP初心者セッション2013

フレームワークの利点• 毎回、同じようなコードを書かなくてすむ

• 提供されている機能によって一定のクオリティが保てる

• XSS,CSRF,SQLインジェクション等の対策

• MVCなフレームワークの場合、デザインと機能の分離が出来る

• 開発スピードが上がる?

Page 28: PHP初心者セッション2013

フレームワークの選び方• ロゴで決める w

• インストールしてみよう• チュートリアルをやってみよう• やりたいことを検索してみよう

• 車を選ぶときどのように選びますか?• 恋人と一緒

Page 29: PHP初心者セッション2013

テンプレートシステム

• PurePHP

• Twig

• Smarty

Page 30: PHP初心者セッション2013

ソースコードを見てみよう

Githubから

Page 31: PHP初心者セッション2013

これだけ覚えておけば大丈夫 ?

array()

echo

if

foreach

print_r()

Page 32: PHP初心者セッション2013

array()

配列$a = array(“東京” ,”神奈川” ,”静岡” );$a = array(“1” => “田中” , “2” => “佐藤” );

Page 33: PHP初心者セッション2013

echo

表示printも同様

echo “テキスト” ;echo $a;

Page 34: PHP初心者セッション2013

if

条件分岐if ($a > $b) echo “aが大きい” ;

<?php

if($a > $b) {

echo “aが大きい” ;}else{

echo “bが大きい” ;}

?>

<?php if ($a > $b) ?>aが大きい<?php else: ?>aが大きくない<?php endif; ?>

Page 35: PHP初心者セッション2013

foreach

ループ

<?php$arr = array(1, 2, 3, 4);foreach ($arr as &$value) { echo $value * 2;}unset($value); ?>

<ul><?php foreach ($arr as &$value): ?><li><?php echo $value ?></li><?php endforeach;?></ul>

結果・ 1・ 2・ 3・ 4

Page 36: PHP初心者セッション2013

PHPの勉強方法• マニュアルの読み方 http

://www.php.net/manual/ja/

• 勉強会

Page 37: PHP初心者セッション2013

PHPerとして必要なスキル

• プログラマとして–サーバの知識 (Linux,Windows)–データベースの知識 (MySql,PostgresSql,ORACLE)– Webサーバ (Apache,nginx,IIS)–フレームワーク–フロントエンド技術 (HTML,CSS,JS)

Page 38: PHP初心者セッション2013

なにから始めるか

LV1:WordpressのテーマカスタマイズLV2:問い合わせフォームLV3:フレームワークのチュートリアルLV4:Amazon APIや Twitterを使ったプログラム

LV5:壮大なアプリ

Page 39: PHP初心者セッション2013

PHPカンファレンスを楽しんでくださいhttp://phpcon.php.gr.jp/w/2013/

Page 40: PHP初心者セッション2013

~ PHP初心者セッション~ 

PHPユーザ会有限会社アリウープ代表取締役 柏岡 秀男

[email protected]

Facebook,twitter:kashioka