本文整理汇总了PHP中__THROW函数的典型用法代码示例。如果您正苦于以下问题:PHP __THROW函数的具体用法?PHP __THROW怎么用?PHP __THROW使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了__THROW函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: removePost
/**
* 删除指定的贴吧信息
*
* @param int $postId
*
* @return boolean
*/
function removePost($postId)
{
$postId = (int) $postId;
$post = $this->_tbPosts->find($postId);
if (!$post) {
FLEA::loadClass('Exception_DataNotFound');
__THROW(new Exception_DataNotFound($postId));
return false;
}
return $this->_tbPosts->removeByPkv($postId);
}
示例2: pathinfo
/**
* 从指定文件创建 Image 对象
*
* 对于上传的文件,由于其临时文件名中并没有包含扩展名。因此需要采用下面的方法创建 Image 对象:
*
* <code>
* $ext = pathinfo($_FILES['postfile']['name'], PATHINFO_EXTENSION);
* $image =& FLEA_Helper_Image::createFromFile($_FILES['postfile']['tmp_name'], $ext);
* </code>
*
* @param string $filename
* @param string $fileext
*
* @return FLEA_Helper_Image
*/
function &createFromFile($filename, $fileext = null)
{
if (is_null($fileext)) {
$fileext = pathinfo($filename, PATHINFO_EXTENSION);
}
$fileext = strtolower($fileext);
$ext2functions = array('jpg' => 'imagecreatefromjpeg', 'jpeg' => 'imagecreatefromjpeg', 'png' => 'imagecreatefrompng', 'gif' => 'imagecreatefromgif');
if (!isset($ext2functions[$fileext])) {
FLEA::loadClass('FLEA_Exception_NotImplemented');
__THROW(new FLEA_Exception_NotImplemented('imagecreatefrom' . $fileext));
return false;
}
$handle = $ext2functions[$fileext]($filename);
$img =& new FLEA_Helper_Image($handle);
return $img;
}
示例3: load_yaml
/**
* 载入 YAML 文件,返回分析结果
*
* load_yaml() 会自动使用缓存,只有当 YAML 文件被改变后,缓存才会更新。
*
* 关于 YAML 的详细信息,请参考 www.yaml.org 。
*
* 用法:
* <code>
* $data = load_yaml('myData.yaml');
* </code>
*
* 注意:为了安全起见,不要使用 YAML 存储敏感信息,例如密码。
* 或者将 YAML 文件的扩展名设置为 .yaml.php,并且在每一个 YAML 文件开头添加“exit()”。
* 例如:
* <code>
* # <?php exit(); ?>
*
* invoice: 34843
* date : 2001-01-23
* bill-to: &id001
* ......
* </code>
*
* 这样可以确保即便浏览器直接访问该 .yaml.php 文件,也无法看到内容。
*
* @param string $filename
* @param boolean $cacheEnabled 是否缓存分析内容
* @param array $replace
*
* @return array
*/
function load_yaml($filename, $cacheEnabled = true, $replace = null)
{
static $objects = array();
if (!file_exists($filename)) {
FLEA::loadClass('FLEA_Exception_ExpectedFile');
return __THROW(new FLEA_Exception_ExpectedFile($filename));
}
if ($cacheEnabled) {
$arr = FLEA::getCache('yaml-' . $filename, filemtime($filename), false);
if ($arr) {
return $arr;
}
}
if (!isset($objects[0])) {
require_once FLEA_3RD_DIR . '/Spyc/spyc.php';
$objects[0] =& new Spyc();
}
$arr = $objects[0]->load($filename, $replace);
if ($cacheEnabled) {
FLEA::writeCache('yaml-' . $filename, $arr);
}
return $arr;
}
示例4: __THROW
break;
}
} else {
if (class_exists('Template_Lite')) {
break;
}
}
$viewConfig = FLEA::getAppInf('viewConfig');
if (!isset($viewConfig['liteDir'])) {
FLEA::loadClass('FLEA_View_Exception_NotConfigurationLite');
return __THROW(new FLEA_View_Exception_NotConfigurationLite());
}
$filename = $viewConfig['liteDir'] . '/class.template.php';
if (!file_exists($filename)) {
FLEA::loadClass('FLEA_View_Exception_InitLiteFailed');
return __THROW(new FLEA_View_Exception_InitLiteFailed($filename));
}
require $filename;
} while (false);
// }}}
/**
* FLEA_View_Lite 提供了对 TemplateLite 模板引擎的支持
*
* @package Core
* @author 起源科技 (www.qeeyuan.com)
* @version 1.0
*/
class FLEA_View_Lite extends Template_Lite
{
/**
* 构造函数
示例5: execute
function execute($sql, $inputarr = null, $throw = true)
{
if (is_array($inputarr)) {
$sql = $this->bind($sql, $inputarr);
}
if ($this->enableLog) {
$this->log[] = $sql;
log_message("sql: {$sql}", 'debug');
}
$this->querycount++;
$result = mysql_query($sql, $this->conn);
if ($result !== false) {
$this->lasterr = null;
$this->lasterrcode = null;
return $result;
}
$this->lasterr = mysql_error($this->conn);
$this->lasterrcode = mysql_errno($this->conn);
if ($throw) {
FLEA::loadClass('FLEA_Db_Exception_SqlQuery');
__THROW(new FLEA_Db_Exception_SqlQuery($sql, $this->lasterr, $this->lasterrcode));
}
return false;
}
示例6: _loadACTFile
/**
* 载入 ACT 文件
*
* @param string $actFilename
*
* @return mixed
*/
function _loadACTFile($actFilename)
{
static $files = array();
if (isset($files[$actFilename])) {
return $files[$actFilename];
}
$ACT = (require $actFilename);
if (is_array($ACT)) {
$files[$actFilename] = $ACT;
return $ACT;
}
// 当控制器的 ACT 文件没有返回 ACT 时抛出异常
FLEA::loadClass('FLEA_Rbac_Exception_InvalidACTFile');
__THROW(new FLEA_Rbac_Exception_InvalidACTFile($actFilename, $ACT));
return false;
}
示例7: insertId
/**
* 获取自增字段的最后一个值
*
* 如果没有可返回的值,则抛出异常。
*
* @return mixed
*/
function insertId()
{
require_once FLEA_DIR . '/Exception/NotImplemented.php';
__THROW(new FLEA_Exception_NotImplemented('insertId()', 'FLEA_Db_Driver_Pgsql'));
return false;
}
示例8: _uploadPicture
/**
* 处理图片上传
*/
function _uploadPicture($memberid, $imgfile, $pictureType)
{
$uploader =& FLEA::getSingleton('FLEA_Helper_FileUploader');
/* @var $uploader FLEA_Helper_FileUploader */
// 检查上传文件是否存在
if (!$uploader->isFileExist($imgfile)) {
$errorMessage = _T('ui_p_upload_failed');
return;
}
// 检查文件扩展名是否是允许上传的类型
$file =& $uploader->getFile($imgfile);
if (!$file->check(FLEA::getAppInf('imageFileExts'))) {
$errorMessage = _T('ui_p_invalid_filetype');
return;
}
$member = $this->getMember($memberid, false);
if (!$member) {
FLEA::loadClass('Exception_DataNotFound');
__THROW(new Exception_DataNotFound($memberid));
return false;
}
// 上传图像
if ($pictureType == 'headimage') {
$this->_uploadThumb($member, $file);
} else {
$this->_uploadPhoto($member, $file);
}
$ex = __CATCH();
if (__IS_EXCEPTION($ex)) {
$errorMessage = $ex->getMessage();
return;
}
}
示例9: _prepareMeta
/**
* 准备当前数据表的元数据
*
* @param boolean $flushCache
*
* @return boolean
*/
function _prepareMeta($flushCache = false)
{
$cached = FLEA::getAppInf('dbMetaCached');
$cacheId = $this->dbo->dsn['id'] . '/' . $this->fullTableName;
$readFromCache = $cached != false && $flushCache == false;
if ($readFromCache) {
/**
* 尝试从缓存读取
*/
$meta = FLEA::getCache($cacheId, FLEA::getAppInf('dbMetaLifetime'));
if (is_array($meta)) {
$this->meta = $meta;
return true;
}
}
/**
* 从数据库获得 meta
*/
$this->meta = $this->dbo->metaColumns($this->qtableName);
if (!is_array($this->meta) || empty($this->meta)) {
FLEA::loadClass('FLEA_Db_Exception_MetaColumnsFailed');
return __THROW(new FLEA_Db_Exception_MetaColumnsFailed($this->qtableName));
}
if ($cached) {
return FLEA::writeCache($cacheId, $this->meta);
} else {
return true;
}
}
示例10: execute
/**
* 执行一个查询,返回一个 resource 或者 boolean 值
*
* @param string $sql
* @param array $inputarr
* @param boolean $throw 指示查询出错时是否抛出异常
*
* @return resource|boolean
*/
function execute($sql, $inputarr = null, $throw = true)
{
if (substr($sql, 0, 11) == "INSERT INTO") {
// 删除SQL中的指定的表,SQLITE不支持在插入中语句有表名在前面
$len1 = strpos($sql, '(');
$len2 = strpos($sql, ')');
$len3 = strpos($sql, 'VALUES');
$temp = array();
if ($len2 < $len3) {
$temp[] = substr($sql, 0, $len1);
$temp[] = substr($sql, $len1, $len2 - $len1);
$temp[] = substr($sql, $len2);
$temp[1] = eregi_replace("[a-z_0-9]+\\.", "", $temp[1]);
$sql = implode($temp);
}
}
if (is_array($inputarr)) {
$sql = $this->_prepareSql($sql, $inputarr);
}
if ($this->enableLog) {
$this->log[] = $sql;
log_message("sql:\n{$sql}", 'debug');
}
$result = @sqlite_query($sql, $this->conn);
if ($result !== false) {
$this->lasterr = null;
$this->lasterrcode = null;
return $result;
}
$this->lasterrcode = sqlite_last_error($this->conn);
$this->lasterr = sqlite_error_string($this->lasterrcode);
if (!$throw) {
return false;
}
FLEA::loadClass('FLEA_Db_Exception_SqlQuery');
__THROW(new FLEA_Db_Exception_SqlQuery($sql, $this->lasterr, $this->lasterrcode));
return false;
}
示例11: calcCount
/**
* 统计关联记录数
*
* @param array $assocRowset
* @param string $mappingName
* @param string $in
*
* @return int
*/
function calcCount(&$assocRowset, $mappingName, $in)
{
FLEA::loadClass('FLEA_Exception_NotImplemented');
return __THROW(new FLEA_Exception_NotImplemented('calcCount()', 'FLEA_Db_TableLink'));
}
示例12: load
/**
* 载入指定语言的字典文件
*
* 所有的语言文件均按照“语言/字典名.php”的形式保存在由应用程序设置
* 'languageFilesDir' 指定的目录中。默认的保存目录为 FLEA/Languages。
*
* 如果没有指定 $language 参数,则载入由应用程序设置 'defaultLanguage'
* 指定的语言目录下的文件。
*
* $language 和 $dicname 参数均只能使用 26 个字母、10 个数字
* 和 “-”、“_” 符号。并且为全小写。
*
* @param string $dictname 字典名,例如 'fleaphp'、'rbac'
* @param string $language 指定为 '' 时表示将字典载入默认语言包中
* @param boolena $noException
*/
function load($dictname, $language = '', $noException = false)
{
$dictnames = explode(',', $dictname);
foreach ($dictnames as $dictname) {
$dictname = trim($dictname);
if ($dictname == '') {
continue;
}
$dictname = preg_replace('/[^a-z0-9\\-_]+/i', '', strtolower($dictname));
$language = preg_replace('/[^a-z0-9\\-_]+/i', '', strtolower($language));
if ($language == '') {
$language = FLEA::getAppInf('defaultLanguage');
$default = true;
} else {
$default = false;
}
$filename = FLEA::getAppInf('languageFilesDir') . DS . $language . DS . $dictname . '.php';
if (isset($this->_loadedFiles[$filename])) {
continue;
}
if (is_readable($filename)) {
$dict = (require $filename);
$this->_loadedFiles[$filename] = true;
if (isset($this->_dict[$language])) {
$this->_dict[$language] = array_merge($this->_dict[$language], $dict);
} else {
$this->_dict[$language] = $dict;
}
if ($default) {
$this->_dict[0] =& $this->_dict[$language];
}
} else {
if (!$noException) {
FLEA::loadClass('FLEA_Exception_ExpectedFile');
return __THROW(new FLEA_Exception_ExpectedFile($filename));
}
}
}
}
示例13: __THROW
break;
}
} else {
if (class_exists('Smarty')) {
break;
}
}
$viewConfig = FLEA::getAppInf('viewConfig');
if (!isset($viewConfig['smartyDir']) && !defined('SMARTY_DIR')) {
FLEA::loadClass('FLEA_View_Exception_NotConfigurationSmarty');
return __THROW(new FLEA_View_Exception_NotConfigurationSmarty());
}
$filename = $viewConfig['smartyDir'] . '/Smarty.class.php';
if (!is_readable($filename)) {
FLEA::loadClass('FLEA_View_Exception_InitSmartyFailed');
return __THROW(new FLEA_View_Exception_InitSmartyFailed($filename));
}
require $filename;
} while (false);
// }}}
/**
* FLEA_View_Smarty 提供了对 Smarty 模板引擎的支持
*
* @package Core
* @author 起源科技 (www.qeeyuan.com)
* @version 1.0
*/
class FLEA_View_Smarty extends Smarty
{
/**
* 构造函数
示例14: __THROW
/**
* 返回指定名字的上传文件对象
*
* @param string $name
*
* @return FLEA_Helper_FileUploader_File
*/
function &getFile($name)
{
if (!isset($this->_files[$name])) {
FLEA::loadClass('FLEA_Exception_ExpectedFile');
return __THROW(new FLEA_Exception_ExpectedFile('$_FILES[' . $name . ']'));
}
return $this->_files[$name];
}
示例15: check
/**
* 用指定规则验证值,验证通过返回 ture,否则返回没有通过的验证规则名
*
* @param mixed $value
* @param array $rule
*
* @return boolean
*/
function check($value, &$rule)
{
// 首先使用 simpleType 验证值(如果 simpleType 属性存在)
$checkLength = false;
$checkMinMax = false;
$ret = 'simpleType';
if (isset($rule['simpleType'])) {
switch ($rule['simpleType']) {
case 'C':
// 长度小于等于 250 的字符串
if (strlen($value) > 250) {
return $ret;
}
$checkLength = true;
break;
case 'N':
// 数值或者浮点数
if (!is_numeric($value)) {
return $ret;
}
$checkMinMax = true;
break;
case 'D':
// 日期
$test = @strtotime($value);
if ($test === false || $test === -1) {
return $ret;
}
break;
case 'I':
// 整数
if (!is_numeric($value)) {
return $ret;
}
if (intval($value) != $value) {
return $ret;
}
$checkMinMax = true;
break;
case 'X':
// 长度大于 250 的字符串
// 长度大于 250 的字符串
case 'B':
// 二进制数据
$checkLength = true;
break;
case 'T':
// TimeStamp
// TimeStamp
case 'L':
// 逻辑布尔值
break;
case 'R':
// 自动增量或计数器
$checkMinMax = true;
break;
default:
}
} else {
$checkLength = true;
$checkMinMax = true;
}
// 接着使用 complexType 验证值(如果 complexType 属性存在)
$ret = 'complexType';
if (isset($rule['complexType'])) {
$func = 'is' . $rule['complexType'];
if (!method_exists($this, $func)) {
FLEA::loadClass('FLEA_Exception_InvalidArguments');
__THROW(new FLEA_Exception_InvalidArguments('$rule[\'complexType\']', $rule['complexType']));
return null;
}
if (!$this->{$func}($value)) {
return $ret;
}
}
// min/max/minLength/maxLength 验证
if ($checkMinMax) {
$ret = 'min';
if (isset($rule['min']) && $value < $rule['min']) {
return $ret;
}
$ret = 'max';
if (isset($rule['max']) && $value > $rule['max']) {
return $ret;
}
}
$ret = 'length';
if ($checkLength) {
$ret = 'minLength';
if (isset($rule['minLength']) && $rule['minLength'] > 0 && strlen($value) < $rule['minLength']) {
return $ret;
}
//.........这里部分代码省略.........