• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP getClassProperties函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中getClassProperties函数的典型用法代码示例。如果您正苦于以下问题:PHP getClassProperties函数的具体用法?PHP getClassProperties怎么用?PHP getClassProperties使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了getClassProperties函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: user_pref_get

/**
 * return the user's preferences in a UserPreferences object
 * @param int $p_user_id
 * @param int $p_project_id
 * @return UserPreferences
 */
function user_pref_get( $p_user_id, $p_project_id = ALL_PROJECTS ) {
	static $t_vars;
	global $g_cache_current_user_pref;

	if ( isset( $g_cache_current_user_pref[(int)$p_project_id] ) &&
		auth_is_user_authenticated() &&
		auth_get_current_user_id() == $p_user_id ) {
		return $g_cache_current_user_pref[(int)$p_project_id];
	}

	$t_prefs = new UserPreferences( $p_user_id, $p_project_id );

	$row = user_pref_cache_row( $p_user_id, $p_project_id, false );

	# If the user has no preferences for the given project
	if( false === $row ) {
		if( ALL_PROJECTS != $p_project_id ) {
			# Try to get the prefs for ALL_PROJECTS (the defaults)
			$row = user_pref_cache_row( $p_user_id, ALL_PROJECTS, false );
		}

		# If $row is still false (the user doesn't have default preferences)
		if( false === $row ) {
			# We use an empty array
			$row = array();
		}
	}

	if ($t_vars == null ) {
		$t_vars = getClassProperties( 'UserPreferences', 'protected');
	}

	$t_row_keys = array_keys( $row );

	# Check each variable in the class
	foreach( $t_vars as $var => $val ) {
		# If we got a field from the DB with the same name
		if( in_array( $var, $t_row_keys, true ) ) {
			# Store that value in the object
			$t_prefs->$var = $row[$var];
		}
	}
	if ( auth_is_user_authenticated() && auth_get_current_user_id() == $p_user_id ) {
		$g_cache_current_user_pref[ (int)$p_project_id ] = $t_prefs;
	}
	return $t_prefs;
}
开发者ID:rombert,项目名称:mantisbt,代码行数:53,代码来源:user_pref_api.php


示例2: config_get

$t_bugnote_link = config_get('bugnote_link_tag');
$writer = new XMLWriter();
$writer->openURI('php://output');
$writer->setIndent(true);
$writer->setIndentString('    ');
$writer->startDocument('1.0', 'UTF-8');
$writer->startElement('mantis');
$writer->writeAttribute('version', $t_version);
$writer->writeAttribute('urlbase', $t_url);
$writer->writeAttribute('issuelink', $t_bug_link);
$writer->writeAttribute('notelink', $t_bugnote_link);
$writer->writeAttribute('format', '1');
# Ignored fields, these will be skipped
$t_ignore = array('_stats', 'bug_text_id');
/* properties that we want to export are 'protected' */
$t_columns = array_keys(getClassProperties('BugData', 'protected'));
# export the rows
foreach ($t_result as $t_row) {
    $writer->startElement('issue');
    foreach ($t_columns as $t_element) {
        $t_value = $t_row->{$t_element};
        if (empty($t_value)) {
            continue;
        }
        if (in_array($t_element, $t_ignore)) {
            continue;
        }
        switch ($t_element) {
            case 'reporter_id':
            case 'handler_id':
                $t_element_name = substr($t_element, 0, -3);
开发者ID:N0ctrnl,项目名称:mantisbt,代码行数:31,代码来源:export.php


示例3: getClassProperties

/**
 * return array of class properties (via reflection api)
 * @param string  $p_classname      Class name.
 * @param string  $p_type           Property type - public/private/protected/static.
 * @param boolean $p_return_object  Whether to return array of property objects.
 * @param boolean $p_include_parent Whether to include properties of parent classes.
 * @return array
 * @access public
 */
function getClassProperties($p_classname, $p_type = 'public', $p_return_object = false, $p_include_parent = false)
{
    $t_ref = new ReflectionClass($p_classname);
    $t_props = $t_ref->getProperties();
    $t_props_arr = array();
    foreach ($t_props as $t_prop) {
        $t_name = $t_prop->getName();
        if ($t_prop->isPublic() and stripos($p_type, 'public') === false) {
            continue;
        }
        if ($t_prop->isPrivate() and stripos($p_type, 'private') === false) {
            continue;
        }
        if ($t_prop->isProtected() and stripos($p_type, 'protected') === false) {
            continue;
        }
        if ($t_prop->isStatic() and stripos($p_type, 'static') === false) {
            continue;
        }
        if ($p_return_object) {
            $t_props_arr[$t_name] = $t_prop;
        } else {
            $t_props_arr[$t_name] = true;
        }
    }
    if ($p_include_parent) {
        if ($t_parentclass = $t_ref->getParentClass()) {
            $t_parent_props_arr = getClassProperties($t_parentclass->getName());
            if (count($t_parent_props_arr) > 0) {
                $t_props_arr = array_merge($t_parent_props_arr, $t_props_arr);
            }
        }
    }
    return $t_props_arr;
}
开发者ID:gtn,项目名称:mantisbt,代码行数:44,代码来源:utility_api.php


示例4: getClassProperties

function getClassProperties($className, $types = 'public', $return_object = false, $include_parent = false)
{
    $ref = new ReflectionClass($className);
    $props = $ref->getProperties();
    $props_arr = array();
    foreach ($props as $prop) {
        $f = $prop->getName();
        if ($prop->isPublic() and stripos($types, 'public') === FALSE) {
            continue;
        }
        if ($prop->isPrivate() and stripos($types, 'private') === FALSE) {
            continue;
        }
        if ($prop->isProtected() and stripos($types, 'protected') === FALSE) {
            continue;
        }
        if ($prop->isStatic() and stripos($types, 'static') === FALSE) {
            continue;
        }
        if ($return_object) {
            $props_arr[$f] = $prop;
        } else {
            $props_arr[$f] = true;
        }
    }
    if ($include_parent) {
        if ($parentClass = $ref->getParentClass()) {
            $parent_props_arr = getClassProperties($parentClass->getName());
            //RECURSION
            if (count($parent_props_arr) > 0) {
                $props_arr = array_merge($parent_props_arr, $props_arr);
            }
        }
    }
    return $props_arr;
}
开发者ID:fur81,项目名称:zofaxiopeu,代码行数:36,代码来源:utility_api.php


示例5: bugnote_get_field

/**
 * Get a field for the given bugnote
 * @param integer $p_bugnote_id A bugnote identifier.
 * @param string  $p_field_name Field name to retrieve.
 * @return string field value
 * @access public
 */
function bugnote_get_field($p_bugnote_id, $p_field_name)
{
    static $s_vars;
    global $g_cache_bugnote;
    if (isset($g_cache_bugnote[(int) $p_bugnote_id])) {
        return $g_cache_bugnote[(int) $p_bugnote_id]->{$p_field_name};
    }
    if ($s_vars == null) {
        $s_vars = getClassProperties('BugnoteData', 'public');
    }
    if (!array_key_exists($p_field_name, $s_vars)) {
        error_parameters($p_field_name);
        trigger_error(ERROR_DB_FIELD_NOT_FOUND, WARNING);
    }
    $t_query = 'SELECT ' . $p_field_name . ' FROM {bugnote} WHERE id=' . db_param();
    $t_result = db_query($t_query, array($p_bugnote_id), 1);
    return db_result($t_result);
}
开发者ID:spidgorny,项目名称:mantisbt,代码行数:25,代码来源:bugnote_api.php


示例6: bugnote_get_field

/**
 * Get a field for the given bugnote
 * @param int $p_bugnote_id bugnote id
 * @param string $p_field_name field name
 * @return string field value
 * @access public
 */
function bugnote_get_field($p_bugnote_id, $p_field_name)
{
    static $t_vars;
    global $g_cache_bugnote;
    if (isset($g_cache_bugnote[(int) $p_bugnote_id])) {
        return $g_cache_bugnote[(int) $p_bugnote_id]->{$p_field_name};
    }
    if ($t_vars == null) {
        $t_vars = getClassProperties('BugnoteData', 'public');
    }
    if (!array_key_exists($p_field_name, $t_vars)) {
        error_parameters($p_field_name);
        trigger_error(ERROR_DB_FIELD_NOT_FOUND, WARNING);
    }
    $t_bugnote_table = db_get_table('bugnote');
    $query = "SELECT {$p_field_name}\n\t\t          \tFROM {$t_bugnote_table}\n\t\t          \tWHERE id=" . db_param();
    $result = db_query_bound($query, array($p_bugnote_id), 1);
    return db_result($result);
}
开发者ID:Kirill,项目名称:mantisbt,代码行数:26,代码来源:bugnote_api.php



注:本文中的getClassProperties函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP getClassicModuleTitle函数代码示例发布时间:2022-05-15
下一篇:
PHP getClassName函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap