Presentation is loading. Please wait.

Presentation is loading. Please wait.

PHPの基礎と開発手法 Based on PHP5

Similar presentations


Presentation on theme: "PHPの基礎と開発手法 Based on PHP5"— Presentation transcript:

1 PHPの基礎と開発手法 Based on PHP5
Yuki Matsukura 8/9/2018

2 アウトライン PHPの基礎 (15分) PHP5の新機能 (10分) PHPを利用した開発(5分) まとめ (2分) 説明 実装
オブジェクト周り 例外 PHPを利用した開発(5分) 開発ツール 業界の標準 まとめ (2分)

3 PHPの基礎

4 動作概念 Apacheのモジュール プログラム呼び出し 一般にPHPが利用される 動作軽量 コマンドラインで使用 Perlのようなイメージ
#!/usr/local/bin/php <?php … ?> 出展:

5 PHPの動かし方 <?php ?> 拡張子 <html>
で始まり ?> で終わる 拡張子 .php PHPスクリプト .phps PHPソース <html> <h1>Say something</h1> <?php print “hello”; ?> </html>

6 PHPの文法 変数/コメント 変数 コメント 型の概念は無い 変数の宣言必要なし // /* … */ <html>
<h1>Say something</h1> <?php // 代入 $message = “HELLOOOO”; // 表示 print $message; ?> </html>

7 PHPの文法 関数 利用 作る <?php // 利用 print date('Y-m-d'); print plus(1,3);
name($param1,$param2); 作る function name($param1){ } <?php // 利用 print date('Y-m-d'); print plus(1,3); // 作る function plus($first, $secound){ return $first + $secound; } ?>

8 PHPの文法 配列 <?php $a1 = array('dog', 'cat', 'bird'); $a2[0] = 'dog';
$a2[1] = 'cat'; $a2[2] = 'bird'; // 表示 print '<pre>'; print_r($a1); print_r($a2); print '</pre>'; ?>

9 PHPの文法 Hash <?php $h1 = array( 'dog' => '犬', 'cat' => '猫',
'bird' => '鳥' ); $h2['dog'] = '犬'; $h2['cat'] = '猫'; $h2['bird'] = '鳥'; // 表示 print '<pre>'; print_r($h1); print_r($h2); print $h1['dog']; print '</pre>'; ?>

10 実装 – モデル Formに文字を入力 (form.html) 文字列を表示 (postecho.php)

11 ごにょごにょ

12 主な機能 ファイルアクセス DBアクセス Socket 正規表現 XML,XSL Session その他
Postgres,MySQL,Oracleなど Socket 正規表現 XML,XSL Session その他 PDF作成 IMAP LDAP Javaとの連携 などの便利な関数がたくさん用意されている

13 PHP5の新機能

14 簡単な歴史 1995 PHP/FI 1998/6 PHP3 2000/5/22 PHP4 2004/7/13 PHP5

15 オブジェクト指向 オブジェクト指向でも書ける PHP4 オブジェクト クラス PHP5(PHP4の拡張) アクセス制限できるようになった

16 新機能 - オブジェクト アクセス制限 例外 抽象クラスとメソッド (abstract) インタフェース (interface)
private protected 例外 抽象クラスとメソッド (abstract) インタフェース (interface) final 修飾子 Clone (__clone() ) コンストラクタ ( __construct() ) デストラクタ ( __destruct() )

17 Classのコード アクセス制限 private protected 宣言したクラスだけからアクセス可能 サブクラスからもアクセス可能
<?php class TestClass(){ private $attribute1 = 'dog'; protected $attribute2 = 'cat'; private function getAttribute1(){ return $this->$attribute1; } function getAttribute2(){ return $this->$attribute2; $class = new TestClass(); print $class->getAttribute2(); ?>

18 例外処理 try … throw … catch Javaと同じ <?php class TestClass(){
private $attribute1 = 'dog'; protected $attribute2 = 'cat'; private function getAttribute1(){ return $this->$attribute1; } function getAttribute2(){ return $this->$attribute2; $class = new TestClass(); print $class->getAttribute2(); ?>

19 Classのコード アクセス制限 private protected 宣言したクラスだけからアクセス可能 サブクラスからもアクセス可能
<?php class TestClass(){ private $attribute1 = 'dog'; protected $attribute2 = 'cat'; private function getAttribute1(){ return $this->$attribute1; } function getAttribute2(){ return $this->$attribute2; $class = new TestClass(); print $class->getAttribute2(); ?>

20 Classのコード アクセス制限 private protected 宣言したクラスだけからアクセス可能 サブクラスからもアクセス可能
<?php class FileNotFoundException extends exception {   function FileNotFoundException($_error) {     $this->error = $_error;   }   function getException()   {     return $this->error; } class MyClass {   function open($filename)     if(!file_exists($filename))        throw new FileNotFoundException("file not found"); try{   $class = new MyClass();   $class->open("non_exists_file"); } catch(FileNotFoundException $e) {   die($e->getException()); ?>

21 PHPを利用した開発

22 開発ツール Eclipse Emacs? TruStudioプラグイン Apache PHP RDBMS
Apache PHP RDBMS Emacs?

23 MVC 改変:

24 フレームワーク mojavi Phrame WaWaWa http://www.mojavi.org/
WaWaWa

25 優秀なクラスライブラリ達 PEAR ADOdb SMARTY PHPにデフォルトで付属 多種多様なライブラリ
ADOdb DBを抽象化し,便利なメソッドを用意 PEARのDBより高速 SMARTY Viewを分けるためのテンプレートエンジン

26 まとめ

27 まとめ 既存のライブラリを利用する MVCを意識したコーディング ライブラリ全般:PEAR DBMS抽象化:ADOdb
HTMLテンプレート:SMARTY フレームワーク MVCを意識したコーディング MVCが入り交じったコードを書くな! フレームワークを利用する.

28 参考文献 PHP Official Site Einführung in PHP und MySQL PHP5徹底攻略
Einführung in PHP und MySQL PHP5徹底攻略


Download ppt "PHPの基礎と開発手法 Based on PHP5"

Similar presentations


Ads by Google