PHP CodeIgniterでPEARを使う @さくらのレンタルサーバ
さくらのレンタルサーバに設置したCodeIgniterでPEARを使うメモです。
PEARを設置
applicationディレクトリ内にpearディレクトリを作成します。
system/application/pear
その中にPEAR.phpと使用するPEAR(Cryptを入れてみました。)を入れます。
system/application/pear/PEAR.php
system/application/pear/Crypt/Blowfish.php
Hooksを有効にする
system/application/config/config.phpを編集
$config['enable_hooks'] = TRUE;
system/application/config/hooks.phpを編集
下記を追加
$hook['pre_controller'][] = array( 'class' => 'Pear_hook', 'function' => 'index', 'filename' => 'pear_hook.php', 'filepath' => 'hooks' );
system/application/hooks/pear_hook.phpを作成
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Pear_hook{ function index(){ // OS independent ini_set('include_path',ini_get('include_path').PATH_SEPARATOR.BASEPATH.'application/pear/'); // on Apache // ini_set('include_path',ini_get('include_path').':'.BASEPATH.'application/pear/'); // on Windows // ini_set('include_path',ini_get('include_path').';'.BASEPATH.'application/pear/'); } } ?>
PEARを読み込むライブラリを作成する
system/application/libraries/Pearloader.phpを作成
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Pearloader{ function load($package, $class,$options = null){ require_once($package.'/'.$class.'.php'); $classname = $package."_".$class; if(is_null($options)){ return new $classname(); }else{ return new $classname($options); } } } ?>
では使ってみます
Cryptで暗号化してみる。
function sample(){ $crypt_key = "23497810928374";//暗号鍵 $this->load->library('pearloader'); $blowfish = $this->pearloader->load('Crypt', 'Blowfish', $crypt_key); $str = $blowfish->encrypt("テストです。"); echo $str; }
「テストです。」が暗号化された文字列が表示されるはずです。
このメモはオフィシャルのチュートリアルとほぼ同じ内容ですので、動作しない場合はこちらをご確認ください。
http://codeigniter.com/wiki/PEAR_integration/