O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
PHP初心者に贈る、まちがえない
PHPの始め方・学び方
株式会社ウィズテクノロジー
代表取締役 CEO兼CTO 杉本 展将
2015/5/30
プロフィール
氏名 杉本 展将 (すぎもと ひろゆき) ニックネーム:てんしょう
年齢 0x28歳
出身 南紀白浜
趣味 美味しいモノを食べる、お酒、カメラ、卓球、バイク
略歴 大学卒業後、独立系システム開発会社で開発や社員教育に携わる
数年の...
このセッションの目的
3
“時代遅れの情報がウェブ上にあふれている。”
“PHP: The Right Way は気軽に読めるクイックリ
ファレンスだ“
“PHPを使うための正式なお作法など存在しない ”
"いくつかの選択肢を示して、それぞれの...
PHPで学ぶこと
4
標準関数
HTML + CSS + JS
開発環境
HTTP
データベース
オブジェクト指向
セキュリティ
フレームワーク
サーバ
DI(依存性の注入)
デプロイ
テンプレート
テスト
ライブラリ
基本文法
キャッシュ
バ...
PHPをはじめる
• PHP (最新版5.6)
• homebrew, phpbrew(Mac)
• バイナリダウンロード(Win) ※ php.netのドキュメント参照
• Webサーバ
• ビルトインWebサーバ, Apache, ngin...
コーディングスタイル
• プログラムは後から自分や他人が修正する
• 決まったフォーマットでプログラムを書く
• 標準規約に従う
• PSR-4 (オートローダーに関する規約)
• PSR-1 (基本的なコーディング規約)
• PSR-2 (コ...
コーディングスタイルの具体例
• PSR-1
• PHPコードは「<?php ?>」及び「<?= ?>」タグを使用
• 文字コードはUTF-8, BOM無し
• PSR-2
• 改行コードはLF
• ファイルの最後に空行
• インデントは4スペ...
依存関係の管理
• ライブラリやフレームワークの管理/インストール
• PEAR (システム全体)
• Composer (ひとつのプロジェクト)
8
データベース
• mysql → mysqli
• ネイティブドライバ → PDO
• SQLインジェクション対策
• バインド変数を使う
9
プログラムが行っていること
10
入力
処理
出力
・入力を受け取る
・ファイルを読み込む
・データベースを検索する
・計算をする
・表示形式を整える
・ファイルに書き込む
・画面に表示する
1ファイルで作る場合
11
<?php
// さまざまな処理をして、表示内容を変数や配列に代入しておく
?>
<html>
<head>
<title>PHPのプログラム</title>
</head>
<body>
結果: <?php ech...
<Webブラウザ>
ロジックとデザインの分離
WebサーバクライアントPC
12
PHP
(ロジック)
テンプレート
(レイアウト)
HTML
テンプレート
• ロジックとデザインの分離
• 作業を分担できる
• コードの再利用
• テンプレートエンジン
• Smarty
• Twig
13
<Webブラウザ>
MVCモデル
WebサーバクライアントPC
14
Controller
(Model,View
の制御)
View
(レイアウト)
HTML
Model
(ロジック、
データ連携)
データ
ベース
フレームワーク
• コードの書き方や構造が統一
• 学習コストがかかる、慣れると早い
• オレオレフレームワーク
• CakePHP
• Symfony
• Laravel
• Yii Framework
15
セキュリティ問題
• 機能的に問題ない≠セキュリティに問題ない
• クロスサイトスクリプティング
• SQLインジェクション
• その他、いろいろ
• ECサイト クレジットカード情報漏洩事件 (2014.1)
• SQLインジェクションの対策...
セキュリティ対策
• インターネットで公開前に必ずセキュリティ対策!
• パスワードをハッシュ化
• サニタイズ
• バリデーション
• エラーレポート設定
• 他にもいろいろあるよ!
17
セキュリティ対策をより知りたい
• IPA 「安全なウェブサイトの作り方」
• https://www.ipa.go.jp/security/vuln/websecurity.html
• 「体系的に学ぶ安全なWebアプリケーションの作り方」
...
テスト
• ユニットテスト
• 関数やクラスやメソッドの確認
• PHPUnit など
• 機能テスト
• アプリケーションの動きを確認
• Selenium など
19
書籍
20
コミュニティ
• 関西PHPユーザーズグループ
21
http://www.kphpug.jp
facebookグループ
Thank you!
22
Happy PHP
Programming Life!
Próximos SlideShares
Carregando em…5
×

de

PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 1 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 2 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 3 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 4 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 5 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 6 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 7 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 8 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 9 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 10 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 11 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 12 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 13 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 14 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 15 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 16 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 17 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 18 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 19 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 20 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 21 PHP初心者に贈る、まちがえないPHPの始め方・学び方 Slide 22
Próximos SlideShares
QAサイトをつくってみよう
Avançar
Transfira para ler offline e ver em ecrã inteiro.

49 gostaram

Compartilhar

Baixar para ler offline

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

Baixar para ler offline

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

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

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

    Jul. 30, 2017
  • KumiTsuji

    Dec. 28, 2016
  • yoshikitakabayashi3

    Dec. 20, 2016
  • tokoroma

    Nov. 15, 2016
  • ItaruK

    Jul. 15, 2016
  • koichirofurusho

    Dec. 27, 2015
  • mmmatch

    Nov. 20, 2015
  • hirotakayanagisawa

    Nov. 3, 2015
  • YutakaMiyake

    Oct. 31, 2015
  • imanyun

    Oct. 6, 2015
  • nooyama

    Sep. 28, 2015
  • ssuser6186a5

    Sep. 21, 2015
  • shunkimura37

    Sep. 11, 2015
  • ShinobuUeno

    Sep. 2, 2015
  • pismo2003

    Aug. 31, 2015
  • kenshiroogura

    Aug. 25, 2015
  • takufuruya7

    Aug. 12, 2015
  • book528

    Aug. 8, 2015
  • niigata616

    Aug. 1, 2015
  • miku3939

    Jul. 23, 2015

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

Vistos

Vistos totais

14.501

No Slideshare

0

De incorporações

0

Número de incorporações

7.033

Ações

Baixados

70

Compartilhados

0

Comentários

0

Curtir

49

×