#setlinebreak(on)
 * PEAR [#qb249ac2]
 #htmlinsert(googleAdsense.html)
 #ref(http://dozo.rgr.jp/img/img20_file.png,right,nolink,around,PHP::PEAR)
 「[[PEAR:http://pear.php.net/]]」、日本ではなじみが薄いのか解説しているページが非常に少ないですね。
 超ずぼらプログラマもどきの筆者は、ものを作る上で一番大切にしていることがあります。それは「実現するためにもっとも簡単・単純な方法を採用する」ことです。 
 
 PHPで新規に何かを作るとき、初期段階に作るのはだいたい似かよっているとおもいます。
 [コンフィギュレーション],[ユーザー認証],[データベース処理],[HTMLテンプレート],[ロギング],[メール]などなど・・・。
 これがあらかじめ用意されているとしたら使わない手はないでしょう!! 
 
 それが「[[PEAR(PHP Extension and Application Repository):http://pear.php.net/]]」です。 
 http://pear.php.net/ 
 
 具体的なものは追々として、まずはインストールから。 
 
 といっても、Linux版のPHPではすでにインストールされています。
 (バージョンは4.2.x以上位かな?Configureオプションではずさない限り。RPMに関しては不明)
 Windows版でもインストールは簡単。
 C:\phpにPHPがインストールされているとすると、 
 
  C:\php\go-pear 
 
 と入力しEnterキーを連打すればインストールできます。 
 
 一般ユーザー権限やレンタルサーバとかの場合はPEAR自体のインストール先を自分のディレクトリにしてからインストールすると良い。
 
  # lynx -source http://go-pear.org/ | php
  インストーラーが起動するので以下の内容を変更
  [Installation prefix](デフォルトは/usr/local)
  あとはEnterキーを連打
  使用するときにinclude_pathを通しておく
 
 
 
 PEARの基本パッケージは 
 
  [PEAR共通 PEAR] 
  [TAR圧縮 Active_Tar] 
  [コマンドラインコンソール Console_Getopt] 
  [XMLリモートコントロール XML_RPC] 
  [データベース DB] 
  [ネットワーク処理 Net_Socket, Net_SMTP] 
  [メール処理 Mail] 
  [XML評価 XML_Parser] 
  [単体テスト PHPUnit] 
  ※ 違ってたらご指摘ください。 
  
 追加パッケージがほしい場合はinstallコマンドを実行します。 
 
  // PEAR::Authをインストールする場合 
  # pear install Auth   
 
 使用方法はインクルードするだけ。
 install_pathにPEARのインストール先が指定されている必要がありますので、phpinfo()を確認してください。 
 
  // DBクラスを使うときは 
  require_once("DB.php"); 
 
 主な内容は「抽象化」にあります。 
 
 データベースならOracleをはじめ、SQLServer,PostgreSQLなど種類がたくさんあり、PHPにはそれぞれ関数が用意されています。
 しかし、もし、データベース自身が変わることがあった場合、システム変更が大変になります(まぁ普通クラスを作りその部分だけ変えますが。)。
 それが設定を少し変えるだけで可能になります。
  
  require_once("DB.php"); 
  
  // Mysqlなら 
  $config = "mysql://username:password@host/db_name"; 
  
  // PostgreSQLなら 
  // $config = "pgsql://username:password@host/db_name"; 
  
  // Oracleなら 
  // $config = "oci8://username:password@host/db_name"; 
  
  $db = DB :: connect( $config, true );    // DB接続 
  $db->setFetchMode( DB_FETCHMODE_ASSOC ); // 配列モード(デフォルトはオブジェクト) 
  
  $result = $db->query( $sql );            // クエリ送信 
  
   while( $rows = $result->fetchRow() ){    // データ取得 
    echo nl2br( print_r( $rows, true ));      // データ表示 
  } 
 
 ほかにもログ処理の場合、ログを残す方法としてファイル、データベース、syslog・イベントログ、メールなどありますが、パッケージ[Log]を使うと設定を変えるだけで実現できます。
 
 #comment
 


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Third Project
証券会社ランキング比較