本文整理匯總了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;
}
//.........這裏部分代碼省略.........