Download - PHP初心者セッション2013
![Page 1: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/1.jpg)
~ PHP初心者セッション~
PHPユーザ会有限会社アリウープ代表取締役 柏岡 秀男
![Page 2: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/2.jpg)
有限会社アリウープWEBシステム開発ITコンサルWordpress,Drupal導入、カスタマイズベンダーマネージメント
![Page 3: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/3.jpg)
PHPの基本
![Page 4: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/4.jpg)
PHPとは?• HTML埋め込み型スクリプト言語• サーバサードスクリプト• <? PHP ?>の開始、終了タグにより
PHPモードに入る• (?>は無い場合もある)
![Page 5: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/5.jpg)
PHP動作の仕組み
<html><body> <?php echo “hallo”; echo date(“Ymd”); ?></body></html>
<html><body>Hallo20130914</body></html>
Hallo20130914
![Page 6: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/6.jpg)
簡単なサンプル<html>
<head> <title>サンプル </title> </head> <body> <?php echo “PHPスクリプトです "; ?> </body></html>
![Page 7: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/7.jpg)
何が得意で、何が苦手か得意その1HTMLとの親和性が高い。
<html>
<body>
<?php echo “Hello World” ?>
</body>
</html>
![Page 8: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/8.jpg)
何が得意で、何が苦手か得意その2Webに関連ある関数が豊富。setcookie関数header関数mail関数image関数XML関数ネットワーク関数
![Page 9: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/9.jpg)
何が得意で、何が苦手か得意その 3
メジャー OSSの多くが PHPで出来ている• ブログ:Wordpress
• CMS:Drupal
• EC:EC-Cube
• SNS:OpenPNE
![Page 10: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/10.jpg)
何が得意で、何が苦手か得意その 4
• マニュアルがすばらしい• http://www.php.net/manual/ja/
• 副読本に
出版:ソフトバンククリエイティブPHPハンドブック著:柏岡秀男
![Page 11: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/11.jpg)
何が得意で、何が苦手か苦手その1• サーバに通信してもらわないと仕事が出来ない。–Javascript( jquery)– Ajaxも結局はサーバと通信している
![Page 12: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/12.jpg)
何が得意で、何が苦手か• 苦手その2• PHPが使えるサーバが無いと動かない。–Javascript等はブラウザが処理を行う。
– PHPがサーバにインストールされている必要がある
![Page 13: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/13.jpg)
何が得意で、何が苦手か• 苦手その 3
• 高速ではない
![Page 14: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/14.jpg)
何が得意で、何が苦手か• 苦手その 4
• PHPだけでリッチなページが作れる訳ではない
![Page 15: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/15.jpg)
実際に出来ることは?
• 問い合わせフォームから直接メール送信• 商品一覧、カタログサイト• 楽天や Amazonから情報を引っ張る• Twtter,Facebookへの投稿アプリ• とか以前書いていましたが、Webで出来てる事は大体できます(サーバ側のみ)
![Page 16: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/16.jpg)
実際使うには• Linux、MacOS、Windows等多くのOSで動かすことが出来る。
• でも使えるサーバを借りてしまえばいい• サーバー管理の必要無し• レンタルサーバからクラウドへ
![Page 17: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/17.jpg)
実際使うには• 専用サーバ• レンタルサーバ
• バージョンアップも考えないといけない
![Page 18: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/18.jpg)
すぐに使える Paas
Paas(Platform as a Service)
• Windows Azure
• Amazon Elastic Beantalk
• Engine Yard…
![Page 19: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/19.jpg)
Paasと Iaasの違い
http://www.engineyard.co.jp/paas-vs-iaasEngine Yardのページ
![Page 20: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/20.jpg)
インストール( Unix)• 大抵のディストリビュータで初めから利用可能
• 個別のオプション等を利用したい場合はソースよりインストール
• http://www.php.net/manual/ja/install.unix.php
![Page 21: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/21.jpg)
XAMPP,MAMP
• 一括インストール• PHP4,5の切り替え• 各種管理ツールが付属• http://www.apachefriends.org/en/
xampp.html
![Page 22: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/22.jpg)
Vartual Box+chef+Vagrant
• 設定ファイルでサーバ環境を管理• Github等で環境を共有できる• 利用には Rubyのインストールが必要• バージョン管理に便利• Rubyや Vagrantのバージョンに注意
![Page 23: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/23.jpg)
より便利に
![Page 24: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/24.jpg)
ライブラリ• PEAR( PHP Extension and
Application Repository ) PHPで書かれたライブラリ
• PECL(The PHP extension communiyu library)
• Ajax,DB,キャッシュ等の機能を提供• PHPのネイティブ関数でも可能であるが、簡略、使いやすくなるものが多い
![Page 25: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/25.jpg)
フレームワーク
• 14:50より小展示ホールにてフレームワークアップデート
![Page 26: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/26.jpg)
フレームワーク• 比較的メジャーなフレームワーク
– CakePHP – Symfony– Zend Framework– CodeIgniter
–マイクロフレームワーク– FuelPHP– Lithum– SILEX
• 使いやすいものを使う
![Page 27: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/27.jpg)
フレームワークの利点• 毎回、同じようなコードを書かなくてすむ
• 提供されている機能によって一定のクオリティが保てる
• XSS,CSRF,SQLインジェクション等の対策
• MVCなフレームワークの場合、デザインと機能の分離が出来る
• 開発スピードが上がる?
![Page 28: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/28.jpg)
フレームワークの選び方• ロゴで決める w
• インストールしてみよう• チュートリアルをやってみよう• やりたいことを検索してみよう
• 車を選ぶときどのように選びますか?• 恋人と一緒
![Page 29: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/29.jpg)
テンプレートシステム
• PurePHP
• Twig
• Smarty
![Page 30: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/30.jpg)
ソースコードを見てみよう
Githubから
![Page 31: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/31.jpg)
これだけ覚えておけば大丈夫 ?
array()
echo
if
foreach
print_r()
![Page 32: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/32.jpg)
array()
配列$a = array(“東京” ,”神奈川” ,”静岡” );$a = array(“1” => “田中” , “2” => “佐藤” );
![Page 33: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/33.jpg)
echo
表示printも同様
echo “テキスト” ;echo $a;
![Page 34: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/34.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/35.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/36.jpg)
PHPの勉強方法• マニュアルの読み方 http
://www.php.net/manual/ja/
• 勉強会
![Page 37: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/37.jpg)
PHPerとして必要なスキル
• プログラマとして–サーバの知識 (Linux,Windows)–データベースの知識 (MySql,PostgresSql,ORACLE)– Webサーバ (Apache,nginx,IIS)–フレームワーク–フロントエンド技術 (HTML,CSS,JS)
![Page 38: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/38.jpg)
なにから始めるか
LV1:WordpressのテーマカスタマイズLV2:問い合わせフォームLV3:フレームワークのチュートリアルLV4:Amazon APIや Twitterを使ったプログラム
LV5:壮大なアプリ
![Page 39: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/39.jpg)
PHPカンファレンスを楽しんでくださいhttp://phpcon.php.gr.jp/w/2013/
![Page 40: PHP初心者セッション2013](https://reader037.vdocuments.pub/reader037/viewer/2022110120/5584f32fd8b42a30708b4e66/html5/thumbnails/40.jpg)
~ PHP初心者セッション~
PHPユーザ会有限会社アリウープ代表取締役 柏岡 秀男
Facebook,twitter:kashioka