Your SlideShare is downloading. ×
0
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PHP初心者に贈る、まちがえないPHPの始め方・学び方

140

Published on

PHPカンファレンス関西2015 メイントラック11:30~12:00のセッション資料です。

PHPカンファレンス関西2015 メイントラック11:30~12:00のセッション資料です。

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
140
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PHP初心者に贈る、まちがえない PHPの始め方・学び方 株式会社ウィズテクノロジー 代表取締役 CEO兼CTO 杉本 展将 2015/5/30
  • 2. プロフィール 氏名 杉本 展将 (すぎもと ひろゆき) ニックネーム:てんしょう 年齢 0x28歳 出身 南紀白浜 趣味 美味しいモノを食べる、お酒、カメラ、卓球、バイク 略歴 大学卒業後、独立系システム開発会社で開発や社員教育に携わる 数年のフリーランスを経て法人設立 お仕事 株式会社ウィズテクノロジー 代表取締役 CEO兼CTO 2001年~ デジタルハリウッド大阪校 プログラミング系講師 2011年~ デジタルハリウッド大学大学院 客員教授 2015年~ メディアサイエンス研究所 特任教授 杉本研究室 facebook facebook.com/hiroyuki.sugimoto 2
  • 3. このセッションの目的 3 “時代遅れの情報がウェブ上にあふれている。” “PHP: The Right Way は気軽に読めるクイックリ ファレンスだ“ “PHPを使うための正式なお作法など存在しない ” "いくつかの選択肢を示して、それぞれの違いや使 い道をできる限り紹介する。" http://ja.phptherightway.com/
  • 4. PHPで学ぶこと 4 標準関数 HTML + CSS + JS 開発環境 HTTP データベース オブジェクト指向 セキュリティ フレームワーク サーバ DI(依存性の注入) デプロイ テンプレート テスト ライブラリ 基本文法 キャッシュ バージョン管理
  • 5. PHPをはじめる • PHP (最新版5.6) • homebrew, phpbrew(Mac) • バイナリダウンロード(Win) ※ php.netのドキュメント参照 • Webサーバ • ビルトインWebサーバ, Apache, nginx, IIS • 全部入り • XAMPP, MAMP(Mac) • 仮想環境 • VirtualBox + Vagrant 5
  • 6. コーディングスタイル • プログラムは後から自分や他人が修正する • 決まったフォーマットでプログラムを書く • 標準規約に従う • PSR-4 (オートローダーに関する規約) • PSR-1 (基本的なコーディング規約) • PSR-2 (コーディングスタイルガイド ※PSR-1準拠前提) • フレームワークのコーディング規約 6
  • 7. コーディングスタイルの具体例 • PSR-1 • PHPコードは「<?php ?>」及び「<?= ?>」タグを使用 • 文字コードはUTF-8, BOM無し • PSR-2 • 改行コードはLF • ファイルの最後に空行 • インデントは4スペース • ifの後ろにスペースを空けて{ → if ($a < 3) { 7
  • 8. 依存関係の管理 • ライブラリやフレームワークの管理/インストール • PEAR (システム全体) • Composer (ひとつのプロジェクト) 8
  • 9. データベース • mysql → mysqli • ネイティブドライバ → PDO • SQLインジェクション対策 • バインド変数を使う 9
  • 10. プログラムが行っていること 10 入力 処理 出力 ・入力を受け取る ・ファイルを読み込む ・データベースを検索する ・計算をする ・表示形式を整える ・ファイルに書き込む ・画面に表示する
  • 11. 1ファイルで作る場合 11 <?php // さまざまな処理をして、表示内容を変数や配列に代入しておく ?> <html> <head> <title>PHPのプログラム</title> </head> <body> 結果: <?php echo $result; ?> </body> </html>
  • 12. <Webブラウザ> ロジックとデザインの分離 WebサーバクライアントPC 12 PHP (ロジック) テンプレート (レイアウト) HTML
  • 13. テンプレート • ロジックとデザインの分離 • 作業を分担できる • コードの再利用 • テンプレートエンジン • Smarty • Twig 13
  • 14. <Webブラウザ> MVCモデル WebサーバクライアントPC 14 Controller (Model,View の制御) View (レイアウト) HTML Model (ロジック、 データ連携) データ ベース
  • 15. フレームワーク • コードの書き方や構造が統一 • 学習コストがかかる、慣れると早い • オレオレフレームワーク • CakePHP • Symfony • Laravel • Yii Framework 15
  • 16. セキュリティ問題 • 機能的に問題ない≠セキュリティに問題ない • クロスサイトスクリプティング • SQLインジェクション • その他、いろいろ • ECサイト クレジットカード情報漏洩事件 (2014.1) • SQLインジェクションの対策漏れ • システム開発会社の責任を認める判決 → 約2262万円の損害賠償! 16
  • 17. セキュリティ対策 • インターネットで公開前に必ずセキュリティ対策! • パスワードをハッシュ化 • サニタイズ • バリデーション • エラーレポート設定 • 他にもいろいろあるよ! 17
  • 18. セキュリティ対策をより知りたい • IPA 「安全なウェブサイトの作り方」 • https://www.ipa.go.jp/security/vuln/websecurity.html • 「体系的に学ぶ安全なWebアプリケーションの作り方」 • [著]徳丸浩 ¥3,456 / ¥2,520 • OWASP (Open Web Application Security Project) • http://blog.owaspjapan.org/ 18
  • 19. テスト • ユニットテスト • 関数やクラスやメソッドの確認 • PHPUnit など • 機能テスト • アプリケーションの動きを確認 • Selenium など 19
  • 20. 書籍 20
  • 21. コミュニティ • 関西PHPユーザーズグループ 21 http://www.kphpug.jp facebookグループ
  • 22. Thank you! 22 Happy PHP Programming Life!

×