Пример #1
0
 /**
  * Test if we can dynamically extend the R-facade.
  * 
  * @return void
  */
 public function testDynamicPlugins()
 {
     testpack('Test dynamic plugins');
     //basic behaviour
     R::ext('makeTea', function () {
         return 'sorry cant do that!';
     });
     asrt(R::makeTea(), 'sorry cant do that!');
     //with parameters
     R::ext('multiply', function ($a, $b) {
         return $a * $b;
     });
     asrt(R::multiply(3, 4), 12);
     //can we call R inside?
     R::ext('singVersion', function () {
         return R::getVersion() . ' lalala !';
     });
     asrt(R::singVersion(), R::getVersion() . ' lalala !');
     //should also work with RedBean_Facade
     asrt(RedBean_Facade::singVersion(), R::getVersion() . ' lalala !');
     //test error handling
     try {
         R::ext('---', function () {
         });
         fail();
     } catch (RedBean_Exception $e) {
         asrt($e->getMessage(), 'Plugin name may only contain alphanumeric characters.');
     }
     try {
         R::__callStatic('---', function () {
         });
         fail();
     } catch (RedBean_Exception $e) {
         asrt($e->getMessage(), 'Plugin name may only contain alphanumeric characters.');
     }
     try {
         R::invalidMethod();
         fail();
     } catch (RedBean_Exception $e) {
         asrt($e->getMessage(), 'Plugin \'invalidMethod\' does not exist, add this plugin using: R::ext(\'invalidMethod\')');
     }
 }
Пример #2
0
<?php

require 'rb.php';
/* 设置连接属性 数据库类型 数据库名 用户名密码等 */
R::setup('mysql:host=localhost;dbname=dbname', 'dbusername', 'dbpassword');
/* native SQL query */
$book = R::getAll('SELECT * FROM tbl_user');
echo "<pre>";
print_r($book);
/* ORM save */
/* 注意这里不要使用前缀下划线命名的表 否则会抛出错误 如tbl_user  */
$usertb = R::dispense("usertb");
$usertb->name = 'aaas';
$usertb->age = 200;
R::store($usertb);
/* ORM save */
/* 下面的方法可用于在下划线的表 */
define('PAGE', 'tbl_user');
R::ext('xdispense', function ($type) {
    return R::getRedBean()->dispense($type);
});
$tbl_user = R::xdispense(PAGE);
$tbl_user->name = 'aaas';
$tbl_user->age = 200;
R::store($tbl_user);
Пример #3
0
 protected function _setExtendedFunctionsDB()
 {
     R::ext('xdispense', function ($type) {
         return R::getRedBean()->dispense($type);
     });
 }
Пример #4
0
// public static function getAllpage($tbname, $startIndex = 0, $numRows = 20, $type = null, $userid='system')
R::ext('getAllpage', function ($tbname, $startIndex = 0, $numRows = 20, $type = null, $userid = 'system') {
    return AMFUtil::getAllpage($tbname, $startIndex, $numRow, $type, $userid);
});
R::ext('getKey', function () {
    return AMFUtil::getKey();
});
// public static function setKey($key) {
R::ext('setKey', function ($key) {
    return AMFUtil::setKey($key);
});
// public static function mc_encrypt($encrypt, $key=null){
R::ext('mcencrypt', function ($encrypt, $key = null) {
    return AMFUtil::mcencrypt($encrypt, $key);
});
// public static function mc_decrypt($decrypt, $key=null){
R::ext('mcdecrypt', function ($decrypt, $key = null) {
    return AMFUtil::mcdecrypt($decrypt, $key);
});
R::ext('imageresize', function ($src, $dst, $width, $height, $crop = 0) {
    return AMFUtil::image_resize($src, $dst, $width, $height, $crop);
});
// R::ext('',function( ){
// 	return AMFUtil::();
// });
// R::ext('',function( ){
// 	return AMFUtil::();
// });
// R::ext('',function( ){
// 	return AMFUtil::();
// });