05 再利用のためのインクルード

8
PHP講座(5) 再利用のためのインクルード この授業では、プログラミングにとってもっとも重要な「再利用」について学びます。 同じことを繰り返す無駄をいかになくすか? 「面倒くさがり」であることは、上達への近道です。

Upload: -

Post on 04-Jun-2015

544 views

Category:

Documents


4 download

DESCRIPTION

PHPファイルのインクルードについてです。

TRANSCRIPT

Page 1: 05 再利用のためのインクルード

PHP講座(5)!再利用のためのインクルード

この授業では、プログラミングにとってもっとも重要な「再利用」について学びます。 同じことを繰り返す無駄をいかになくすか? 「面倒くさがり」であることは、上達への近道です。

Page 2: 05 再利用のためのインクルード

再利用の方法

10.4.18 (C) 株式会社破滅派

2

index.php 【出力結果】  こんにちは<br  />  お久しぶり!

読み込まれたファイルは呼び出し元のファイルの一部分であるかのように処理されます。

PHPは他のファイルを読み込むことができます。

greet.php

<?php    echo  “こんにちは”;    include(“greet.php”);  

?>

<?php    echo  “<br  />”;    echo  “お久しぶり!”;  

?>

【構文】  include(“/var/hogehoge/”);  

 “/var/hogehoge/”にあるパスを読み込む

Page 3: 05 再利用のためのインクルード

ファイル読み込みのよくある例(1)

10.4.18 (C) 株式会社破滅派

3

header.php

category.phpを作ることになっても、ヘッダーやフッターは再利用できる!

Webサイト内で何度も表示するパーツを読み込む

footer.php sidebar.php

contents.php

ヘッダー

サイドバー

フッター

Page 4: 05 再利用のためのインクルード

ファイル読み込みのよくある例(2)

10.4.18 (C) 株式会社破滅派

4

ログイン用の機能をlogin.phpに入れることで、コードを何度も書き直さずに済みます。

ログイン機能がある「会員専用サイト」で、認証機能を切り分けて使いまわす。

login.php

bbs.php member.php

index.php

cart.php

<?php    $login  =  is_user_login();    if($login){      //ログイン済みの時    }else{      //ログインしていないときの処理    }  

?>

Page 5: 05 再利用のためのインクルード

読み込み方法の違い

10.4.18 (C) 株式会社破滅派

5

include($path)    通常の読み込み  

require($path)    読み込みに失敗したらエラーが起きてPHP終了  

include_once($path)  上記と同じだが、一度しか読み込まない。  require_once($path)  (=すでに読み込まれている場合は読み込まない)

読み込み方法には四種類あります。

【includeとrequireの使い分け】  そのプログラムにとって不可欠なものはrequire。なくてもよかったら、include。  

【*_onceのあるなし】  なんども呼び出す可能性のあるもの(HTMLタグのパーツ)は_onceなし。  一度しか呼び出せないもの(関数定義)は*_once。

もし関数が書かれたファイルを二回読み込んだら?  

つまり…  

もし同じ名前の関数を二回定義したら?

Page 6: 05 再利用のためのインクルード

ファイルパスについて(おまけ)

10.4.18 (C) 株式会社破滅派

6

URL            ex.  http://google.co.jp  

ファイアルシステム    ex.  (Windows)  C:¥xampp¥htdocs                          (Linux)    /var/www/html  

PHPから扱う「パス」には二種類あります

相対パス        ex.  ../../image/a.jpg                   ./test.html  

絶対パス        ex.  http://ja.wikipedia.org/広辞苑                          C:¥xampp¥htdocs¥20100523¥index.html  

パスの書き方には二種類あります

参考情報:  相対パスと絶対パスとは        絶対パスと相対パス

Page 7: 05 再利用のためのインクルード

PDFを作ってみる

10.4.18 (C) 株式会社破滅派

7

PHPでPDFを生成することができます。

PDF

1.  PDFはAdobe社の製品ですが、オープンソースとして、その仕様が公開されています。(参考:http://www.adobe.com/devnet/pdf/pdf_reference.html)  

2.  したがって誰でもPDFは作れますが、あまりに複雑な仕様なので、並の人間では太刀打ちできません。  

3.  あるとき、優れたプログラマーがPHPからPDFを作成できるプログラムを作成して、「クラス」という再利用しやすい形で配布してくれました。  

その名も「FPDF」  他にもいろんなクラスがあるよ

Page 8: 05 再利用のためのインクルード

PEARについて

10.4.18 (C) 株式会社破滅派

8

PEARとは、PHP  Extension  and  Application  Repositoryの略で、要するにみんなが作ったクラスを置いておく場所です。  

自分のホームページとかに置かれると探すのが大変なので、一箇所に集めています。  

インストールがちょっとだけ面倒なので、余裕のある人はトライしてみてください。便利なものがいろいろあります。  

ヒント:「PEAR  インストール」でググる