PHP CodeIgniterでPEARを使う @さくらのレンタルサーバ


さくらのレンタルサーバに設置したCodeIgniterでPEARを使うメモです。

f:id:taramonera:20100827175241j:image

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/

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。