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