2章 既存杭 の再利用技術 の開発 - nilim.go.jp · 127 2章 既存杭 の再利用技術 の開発 これまでに 蓄積 されてきた 膨大 な建築 ストック を再利用
05 再利用のためのインクルード
description
Transcript of 05 再利用のためのインクルード
PHP講座(5)!再利用のためのインクルード
この授業では、プログラミングにとってもっとも重要な「再利用」について学びます。 同じことを繰り返す無駄をいかになくすか? 「面倒くさがり」であることは、上達への近道です。
再利用の方法
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/”にあるパスを読み込む
ファイル読み込みのよくある例(1)
10.4.18 (C) 株式会社破滅派
3
header.php
category.phpを作ることになっても、ヘッダーやフッターは再利用できる!
Webサイト内で何度も表示するパーツを読み込む
footer.php sidebar.php
contents.php
ヘッダー
サイドバー
フッター
ファイル読み込みのよくある例(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{ //ログインしていないときの処理 }
?>
読み込み方法の違い
10.4.18 (C) 株式会社破滅派
5
include($path) 通常の読み込み
require($path) 読み込みに失敗したらエラーが起きてPHP終了
include_once($path) 上記と同じだが、一度しか読み込まない。 require_once($path) (=すでに読み込まれている場合は読み込まない)
読み込み方法には四種類あります。
【includeとrequireの使い分け】 そのプログラムにとって不可欠なものはrequire。なくてもよかったら、include。
【*_onceのあるなし】 なんども呼び出す可能性のあるもの(HTMLタグのパーツ)は_onceなし。 一度しか呼び出せないもの(関数定義)は*_once。
もし関数が書かれたファイルを二回読み込んだら?
つまり…
もし同じ名前の関数を二回定義したら?
ファイルパスについて(おまけ)
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
パスの書き方には二種類あります
参考情報: 相対パスと絶対パスとは 絶対パスと相対パス
PDFを作ってみる
10.4.18 (C) 株式会社破滅派
7
PHPでPDFを生成することができます。
1. PDFはAdobe社の製品ですが、オープンソースとして、その仕様が公開されています。(参考:http://www.adobe.com/devnet/pdf/pdf_reference.html)
2. したがって誰でもPDFは作れますが、あまりに複雑な仕様なので、並の人間では太刀打ちできません。
3. あるとき、優れたプログラマーがPHPからPDFを作成できるプログラムを作成して、「クラス」という再利用しやすい形で配布してくれました。
その名も「FPDF」 他にもいろんなクラスがあるよ
PEARについて
10.4.18 (C) 株式会社破滅派
8
PEARとは、PHP Extension and Application Repositoryの略で、要するにみんなが作ったクラスを置いておく場所です。
自分のホームページとかに置かれると探すのが大変なので、一箇所に集めています。
インストールがちょっとだけ面倒なので、余裕のある人はトライしてみてください。便利なものがいろいろあります。
ヒント:「PEAR インストール」でググる