Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PHP超入門@LL温泉

16,035 views

Published on

LL温泉でのPHP入門講座

Published in: Technology
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes.........ACCESS WEBSITE Over for All Ebooks ..... (Unlimited) ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes.........ACCESS WEBSITE Over for All Ebooks ..... (Unlimited) ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

PHP超入門@LL温泉

  1. 1. PHP超入門 PHPユーザー会 / nequal sotarok id:sotarok Copyright © 2008 Sotaro KARASAWA.
  2. 2. アジェンダ • PHPとは • PHPの学び方 • PHP超入門 • 参考資料 Copyright © 2008 Sotaro KARASAWA.
  3. 3. PHPとは Copyright © 2008 Sotaro KARASAWA.
  4. 4. PHPとは • PHPの紹介 • PHPを使うと良いところ・悪いところ Copyright © 2008 Sotaro KARASAWA.
  5. 5. PHPの紹介 • PHP: Hypertext Processor • http://www.php.net/ • ほとんどウェブのために存在しているプログラミ ング言語 Copyright © 2008 Sotaro KARASAWA.
  6. 6. PHPを使うと良いところ・悪いところ • PHPのよさ – カンタン • 覚えやすい • 1ページだけのちょいプログラムから、大規模フレー ムワークを使った開発まで – カンタンに記述可能 – 本格的にやろうとすればできる – 速い • ウェブプログラムの実行速度としては他の言語に比 べてすごく速い – 実績も多く情報も豊富 Copyright © 2008 Sotaro KARASAWA.
  7. 7. PHPを使うと良いところ・悪いところ • PHPの悪いところ – ところどころ存在するバッドノウハウ • mb_send_mail つかっちゃだめだよ!とか – php.ini 設定がおバカ – 言語に設計思想が・・・ Copyright © 2008 Sotaro KARASAWA.
  8. 8. つまり • 純粋に「プログラミング」を学ぶ言語ではない – 何かを実践する場、作りたいものを表現する場 特にそれがウェブの世界だと強力 にそれがウェブの世界だと強力 ウェブ だと Copyright © 2008 Sotaro KARASAWA.
  9. 9. PHPの学び方 Copyright © 2008 Sotaro KARASAWA.
  10. 10. PHPの学び方 • PHPを使う 3 つのコツ • マニュアルの読み方 Copyright © 2008 Sotaro KARASAWA.
  11. 11. PHPを学ぶ3つのコツ その1 • • ; 文法を覚える • $ • その他 Copyright © 2008 Sotaro KARASAWA.
  12. 12. PHPを学ぶ3つのコツ その2 • マニュアルを極める – PHPの標準関数の充実さは異常! – PHPのマニュアルの充実さは異常! • (m-takagi氏にも大感謝) – これがあるから、ネットさえあればどこからでも • HTMLをダウンロードしておけまローカルでも – 関数名なんて覚える必要ナシ Copyright © 2008 Sotaro KARASAWA.
  13. 13. PHPを学ぶ3つのコツ その3 • 注意しなきゃいけない関数だけ覚える – mb_* 系関数 • 内部エンコード・ソースコードのエンコードに注意 – 脆弱性につながるもの • htmlspecialchars • 内部エンコードに注意 – バージョンによって戻り値が違ったり – その他… – ハマることによりどんどん覚える ハマることによりどんどん覚 ることによりどんどん • 探せば情報もよく出てくる せば情報もよく出 情報もよく Copyright © 2008 Sotaro KARASAWA.
  14. 14. マニュアルの読み方 • 検索 – php.net/mb_strlen • mb_strlen のマニュアルページにリダイレクトされ る • 関数がなければ検索結果が表示される • 引数・戻り値・サンプルのチェック Copyright © 2008 Sotaro KARASAWA.
  15. 15. マニュアルの読み方 • 検索 – php.net/mb_strlen • mb_strlen のマニュアルページにリダイレクトされ る • 関数がなければ検索結果が表示される • 引数・戻り値・サンプルのチェック Copyright © 2008 Sotaro KARASAWA.
  16. 16. PHP超入門 Copyright © 2008 Sotaro KARASAWA.
  17. 17. PHP超入門 • 基本のキ • 変数・演算子 • 基本構文 • 配列 • 関数 • クラスとオブジェクト指向 Copyright © 2008 Sotaro KARASAWA.
  18. 18. PHP超入門 • 基本のキ • 変数・演算子 • 配列 • 基本構文 • 関数 • クラスとオブジェクト指向 Copyright © 2008 Sotaro KARASAWA.
  19. 19. PHP基本のキ • PHPプログラムの書き方 • 実行のさせ方 Copyright © 2008 Sotaro KARASAWA.
  20. 20. PHPプログラムの書き方 •<?php ?> で囲まれた部分がPHPのコードのブロックとなる <?php // ここが実装 ここが実装 ?> Copyright © 2008 Sotaro KARASAWA.
  21. 21. PHPプログラムの書き方 • 文の最後は セミコロン; <?php echo “Hello World¥n”; ?> Copyright © 2008 Sotaro KARASAWA.
  22. 22. 実行のさせ方 • % php filename.php <?php // ここが実装 ここが実装 ?> Copyright © 2008 Sotaro KARASAWA.
  23. 23. PHPプログラムのコメントアウト <?php // 1行コメント # これも1行コメント これも1 /* */ これがブロックコメント これがブロックコメント ?> 実行結果 % php 01_comment.php % Copyright © 2008 Sotaro KARASAWA.
  24. 24. PHPプログラムの書き方 出力 <?php echo quot;Hello World¥nquot;; ?> 実行結果 % php 02_hello.php Hello World Copyright © 2008 Sotaro KARASAWA.
  25. 25. PHPプログラムの書き方 裏技 Hello World 実行結果 % php 03_hello.php Hello World Copyright © 2008 Sotaro KARASAWA.
  26. 26. PHP超入門 • 基本のキ • 変数・演算子 • 配列 • 基本構文 • 関数 • クラスとオブジェクト指向 Copyright © 2008 Sotaro KARASAWA.
  27. 27. 変数 • 変数に「型」はない – 自動で決まる • 変数の頭には $ をつける • 気にしないとほとんどが文字列扱い – (文字列の連結はドット「.」) – int なども連結したりすると勝手に文字列扱い Copyright © 2008 Sotaro KARASAWA.
  28. 28. 変数 <?php $hoge = 1; $fuga = quot;testquot;; echo $hoge . quot;¥nquot;; echo $fuga . quot;¥nquot;; 実行結果 % php 04_var.php 1 test Copyright © 2008 Sotaro KARASAWA.
  29. 29. 演算子 • < > <= >= • == === • || && Copyright © 2008 Sotaro KARASAWA.
  30. 30. 厳密な比較 • == – 値を比較 (型自動変換) – quot;12aaaaaquot; == 12 : true • === – 型までチェック – quot;12aaaaaquot; === 12 : false Copyright © 2008 Sotaro KARASAWA.
  31. 31. おまけ。変数の厳密な出力 • var_dump を使う – 変数の型も出力してくれる – 配列やオブジェクトもOK • デバッグには、echoやprintじゃなくてvar_dump <?php $hoge = 1; var_dump($hoge); 実行結果 % php 05_vd.php int(1) Copyright © 2008 Sotaro KARASAWA.
  32. 32. PHP超入門 • 基本のキ • • 配列 (超重要) 変数・演算子 • 基本構文 • 関数 • クラスとオブジェクト指向 Copyright © 2008 Sotaro KARASAWA.
  33. 33. 配列 • 配列 – 初期化にサイズの指定不要 – 型の指定も不要:型はごっちゃまぜOK – 配列も連想配列(ハッシュ)もごっちゃまぜOK • 配列の要素へのアクセス – 添え字を指定 – キー(文字列)を指定 • 配列の初期化 – array(); Copyright © 2008 Sotaro KARASAWA.
  34. 34. 配列 <?php $hoge = array(); //初期化 $hoge[0] = 1; 初期化 $hoge[1] = 2; $hoge['key'] = quot;valuequot;; // 連想配列 var_dump($hoge); Copyright © 2008 Sotaro KARASAWA.
  35. 35. 配列 <?php $hoge = array(); //初期化 $hoge[0] = 1; 初期化 $hoge[1] = 2; $hoge['key'] = quot;valuequot;; // 連想配列 var_dump($hoge); 実行結果 % php 06_array.php array(3) { [0]=> int(1) [1]=> int(2) [quot;keyquot;]=> string(5) quot;valuequot; } Copyright © 2008 Sotaro KARASAWA.
  36. 36. 配列 <?php // 初期化時に代入の例 // これは先ほどの配列と同じ 初期化時に代入の $hoge = array( これは先ほどの配列 配列と 0 => 1, // 配列の添え字 => 値 という風に表現 1 => 2, 配列の という風 'key' => quot;valuequot;, ); Copyright © 2008 Sotaro KARASAWA.
  37. 37. PHPにおいて配列は大変重要 • 何かの戻り値 • オプション指定 Copyright © 2008 Sotaro KARASAWA.
  38. 38. PHP超入門 • 基本のキ • 変数・演算子 • 配列 • 基本構文 • 関数 • クラスとオブジェクト指向 Copyright © 2008 Sotaro KARASAWA.
  39. 39. 基本構文 • if else elseif • while • do-while • for • foreach • switch case • break continue • require require_once • include include_once Copyright © 2008 Sotaro KARASAWA.
  40. 40. 基本構文 • if else elseif • while • do-while • for • foreach • switch case • break continue • require require_once • include include_once Copyright © 2008 Sotaro KARASAWA.
  41. 41. foreach • 配列をグリグリまわす。最初から最後まで。 • イテレーターをグリグリまわす。 – 配列だろうが – 連想配列だろうが – なんだろうが – とにかくまわす Copyright © 2008 Sotaro KARASAWA.
  42. 42. foreach の使い方 foreach ($array as $val) { // なにかしらの処理 } または foreach ($array as $key => $val) { // なにかしらの処理 } Copyright © 2008 Sotaro KARASAWA.
  43. 43. foreach <?php $array = array( 0 => 1, 1 => 2, 'key' => quot;valuequot;, ); foreach ($array as $val) { echo $val . quot;¥nquot;; } Copyright © 2008 Sotaro KARASAWA.
  44. 44. foreach <?php $array = array( 0 => 1, 1 => 2, 'key' => quot;valuequot;, ); foreach ($array as $val) { echo $val . quot;¥nquot;; } 実行結果 % php 07_foreach.php 1 2 value Copyright © 2008 Sotaro KARASAWA.
  45. 45. foreach (keyも使う) <?php $array = array( 0 => 1, 1 => 2, 'key' => quot;valuequot;, ); foreach ($array as $key => $val) { echo $key . quot; => quot; . $val . quot;¥nquot;; } 実行結果 % php 08_foreach.php 0 => 1 1 => 2 key => value Copyright © 2008 Sotaro KARASAWA.
  46. 46. foreach (イテレーター) • Iterator Interface を実装したクラスなら foreach できる – 実装しないといけないメソッド • next • valid • current • rewind • key Copyright © 2008 Sotaro KARASAWA.
  47. 47. require/include • 外部のファイルを読み込む • require – ファイルが読み込めない場合 Fatal Error • include – ファイルが読み込めない場合 Warning Copyright © 2008 Sotaro KARASAWA.
  48. 48. include <?php include '08_foreach.php'; 実行結果 % php 09_include.php 0 => 1 1 => 2 key => value Copyright © 2008 Sotaro KARASAWA.
  49. 49. include <?php include '09_foreach.php'; echo quot;end¥nquot;; Copyright © 2008 Sotaro KARASAWA.
  50. 50. include <?php include '09_foreach.php'; echo quot;end¥nquot;; 実行結果 % php 10_include.php PHP Warning: include(09_foreach.php): failed to open stream: No such file or directory in /home/sotaro/php/LLOnsen/10_include.php on line 3 Warning: include(09_foreach.php): failed to open stream: No such file or directory in /home/sotaro/php/LLOnsen/10_include.php on line 3 PHP Warning: include(): Failed opening '09_foreach.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/sotaro/php/LLOnsen/10_include.php on line 3 Warning: include(): Failed opening '09_foreach.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/sotaro/php/LLOnsen/10_include.php on line 3 end Copyright © 2008 Sotaro KARASAWA.
  51. 51. include <?php require '09_foreach.php'; echo quot;end¥nquot;; 実行結果 % php 11_require.php PHP Warning: require(09_foreach.php): failed to open stream: No such file or directory in /home/sotaro/php/LLOnsen/11_require.php on line 3 Warning: require(09_foreach.php): failed to open stream: No such file or directory in /home/sotaro/php/LLOnsen/11_require.php on line 3 PHP Fatal error: require(): Failed opening required '09_foreach.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/sotaro/php/LLOnsen/11_require.php on line 3 Fatal error: require(): Failed opening required '09_foreach.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/sotaro/php/LLOnsen/11_require.php on line 3 Copyright © 2008 Sotaro KARASAWA.
  52. 52. *_once • 同じファイルは1度しか呼ばれない <?php include '08_foreach.php'; // 読み込まれる include '08_foreach.php'; // 読み込まれる <?php include_once '08_foreach.php'; // 読み込まれる include_once '08_foreach.php'; // 読み込まれない Copyright © 2008 Sotaro KARASAWA.
  53. 53. include/require どっちをつかう? • ほとんど require_once – 読み込めなくても進んで大丈夫なんてプログラム はほとんどない Copyright © 2008 Sotaro KARASAWA.
  54. 54. PHP超入門 • 基本のキ • 変数・演算子 • 配列 • 基本構文 • 関数 • クラスとオブジェクト指向 Copyright © 2008 Sotaro KARASAWA.
  55. 55. 関数 function 関数名 (引数1 [, 引数2 …] ) { // 実装 } で定義。 関数名(引数 …); でコール Copyright © 2008 Sotaro KARASAWA.
  56. 56. 関数 • 引数の型宣言も戻り値の型宣言も不要 • 関数の中ではスコープが限定される – 例えば関数の外で定義した $hoge は関数の中では 利用不可能 Copyright © 2008 Sotaro KARASAWA.
  57. 57. 関数 <?php function greeting($name) { echo quot;Hello quot; . $name . quot;¥nquot;; } greeting(quot;sotarokquot;); 実行結果 % php 12_function.php Hello sotarok Copyright © 2008 Sotaro KARASAWA.
  58. 58. 関数 return <?php function greeting($name) { return quot;Hello quot; . $name . quot;¥nquot;; } echo greeting(quot;sotarokquot;); 実行結果 % php 13_function.php Hello sotarok Copyright © 2008 Sotaro KARASAWA.
  59. 59. 関数 オプション引数 <?php function greeting($name = quot;suzukiquot;) { return quot;Hello quot; . $name . quot;¥nquot;; } echo greeting(); echo greeting(quot;sotarokquot;); 実行結果 % php 14_function.php Hello suzuki Hello sotarok Copyright © 2008 Sotaro KARASAWA.
  60. 60. 可変関数 • 変数を関数名としてコール可能 • 後ろにカッコがついていれば、関数とみなす Copyright © 2008 Sotaro KARASAWA.
  61. 61. 可変関数 <?php function greeting($name = quot;suzukiquot;) { return quot;Hello quot; . $name . quot;¥nquot;; } $func = quot;greetingquot;; echo $func(quot;sotarokquot;); 実行結果 % php 15_function.php Hello sotarok Copyright © 2008 Sotaro KARASAWA.
  62. 62. PHP超入門 • 基本のキ • 変数・演算子 • 配列 • 基本構文 • 関数 • クラスとオブジェクト指向 Copyright © 2008 Sotaro KARASAWA.
  63. 63. PHPのオブジェクト指向 • クラス • 継承 • オーバーロード • アブストラクトクラス • インターフェース • メソッド・プロパティのアクセス権 Copyright © 2008 Sotaro KARASAWA.
  64. 64. クラスの作り方 <?php class Greeting { public function hello($name = quot;suzukiquot;) { return quot;Hello quot; . $name . quot;¥nquot;; } } Copyright © 2008 Sotaro KARASAWA.
  65. 65. クラスの使い方 <?php class Greeting { public function hello($name = quot;suzukiquot;) { return quot;Hello quot; . $name . quot;¥nquot;; } } <?php $obj = new Greeting(); echo $obj->hello(); Copyright © 2008 Sotaro KARASAWA.
  66. 66. コンストラクタ/デストラクタ <?php class Greeting { public function __construct() { echo quot;object create!¥nquot;; } public function hello($name = quot;suzukiquot;) { return quot;Hello quot; . $name . quot;¥nquot;; } } Copyright © 2008 Sotaro KARASAWA.
  67. 67. 継承・オーバーライド <?php class Hello extends Greeting { public function hello($name = quot;suzukiquot;) { return quot;How are you quot; . $name . quot; ?¥nquot;; } } Copyright © 2008 Sotaro KARASAWA.
  68. 68. PHPのオブジェクトについて • http://www.php.net/manual/ja/language.oop5.php Copyright © 2008 Sotaro KARASAWA.
  69. 69. 参考資料 Copyright © 2008 Sotaro KARASAWA.
  70. 70. 参考資料 (1) まずはここをチェック • PHP マニュアル – http://www.php.net/manual/ja/ • 日本PHPユーザー会 – http://www.php.gr.jp/ – あまり情報は豊富ではない(ぉ Copyright © 2008 Sotaro KARASAWA.
  71. 71. 参考資料 (2) 本がほしいなら • はじめてのPHPプログラミング 基本編 – 著:下岡 秀幸、 中村 悟 – 出版:秀和システム • ノン・プログラマのためのPHP入門 10日間コース – (とはいえ、実務向け) – 著:アシアル(株)、海原 才人 、笹亀 弘 – 出版:翔泳社 Copyright © 2008 Sotaro KARASAWA.
  72. 72. 参考資料 (3) 勉強会やコミュニティへ参加 • events.php.gr.jp – http://events.php.gr.jp/ – PHPユーザー会が運営しているPHP関連のイベン – PHP勉強会(毎月)や各フレームワークの勉強会も ト情報サイト • PHPカンファレンス – 毎年7~8月ごろ開催 • IRC – %PHPStudy (wide) Copyright © 2008 Sotaro KARASAWA.
  73. 73. 参考資料 (4) アンテナを伸ばす • ブログをチェック – PHPユーザー会の planet (http://planet.php.gr.jp/) – PHPユーザーのいろいろな人のブログがある • 雑誌のコラムなど – 最新の情報がいろいろと載っている – WEB+DB Pressなど • 身近なPHPユーザーをTwitterやWassrでフォロー Copyright © 2008 Sotaro KARASAWA.
  74. 74. おつかれさまでした • わからないことがあればsotarokへなんでも聞いて ください! Copyright © 2008 Sotaro KARASAWA.

×