如果是这样......任何想法如何?我是否可以扩展CI_Profiler类以显示SESSION变量?
1
A
回答
5
你可能有兴趣在这个岗位约adding sessions to the profiler基本上它的工作原理是建立一个MY_Profiler.php文件,复制并粘贴代码:
<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
class MY_Profiler extends CI_Profiler {
/**
* Adds session data to the profiler
* Adds a table row for each item of session data with the key and value
* Shows both CI session data and custom session data
*/
function _compile_session() {
$output = "\n\n";
$output .= '<fieldset style="border:1px solid #009999;padding:6px 10px 10px 10px;margin:20px 0 20px 0;background-color:#eee">';
$output .= "\n";
$output .= '<legend style="color:#009999;"> '.'SESSION DATA'.' </legend>';
$output .= "\n";
if (!is_object($this->CI->session)) {
$output .= "<div style='color:#009999;font-weight:normal;padding:4px 0 4px 0'>".'No SESSION data exists'."</div>";
} else {
$output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' width='100%'>\n";
$sess = get_object_vars($this->CI->session);
foreach ($sess['userdata'] as $key => $val) {
if (! is_numeric($key)) {
$key = "'".$key."'";
}
$output .= "<tr><td width='50%' style='color:#000;background-color:#ddd;'>$_SESSION[".$key."] </td><td width='50%' style='color:#009999;font-weight:normal;background-color:#ddd;'>";
if (is_array($val)) {
$output .= "<pre>" . htmlspecialchars(stripslashes(print_r($val, true))) . "</pre>";
} else {
$output .= htmlspecialchars(stripslashes($val));
}
$output .= "</td></tr>\n";
}
$output .= "</table>\n";
}
$output .= "</fieldset>";
return $output;
}
function run() {
$output = "<div id='codeigniter_profiler' style='clear:both;background-color:#fff;padding:10px;'>";
$output .= $this->_compile_uri_string();
$output .= $this->_compile_controller_info();
$output .= $this->_compile_memory_usage();
$output .= $this->_compile_benchmarks();
$output .= $this->_compile_get();
$output .= $this->_compile_post();
$output .= $this->_compile_queries();
$output .= $this->_compile_session();
$output .= '</div>';
return $output;
}
}
0
当然可以,只要创建一个MY_profiler并添加两个方法:运行()和_compile_session() 的run()是一样的父刚才复制的代码&末添加_compile_session和_compile_session可以有相同的代码_compile_post,只是改变$ _ POST到$ _SESSION
相关问题
- 1. 是否可以扩展类
- 2. Laravel 4 - 是否可以扩展DB类?
- 3. 是否可以“扩展”财产“类”?
- 4. 是否可以扩展DefaultValueAccessor?
- 5. 是否可以扩展DataColumn.Expression
- 6. 是否可以从扩展
- 7. 是否可以使用扩展方法扩展泛型类?
- 8. 是否可以显示蚂蚁扩展点的调用“图形”?
- 9. “扩展”是否也扩展变量?
- 10. 是否可以在一段时间后保存SESSION变量?
- 11. 是否可以扩展xaml setter?
- 12. 是否可以扩展Intellitrace事件?
- 13. 是否可以在Android中扩展Canvas?
- 14. 是否可以“隐藏”语言扩展?
- 15. 托管bean是否可以扩展DTO
- 16. 是否可以扩展私人功能?
- 17. 是否可以扩展布局?
- 18. 是否可以扩展Java Enums?
- 19. 是否可以扩展混音?
- 20. 是否可以扩展标准UI
- 21. 是否可以扩展快速申请
- 22. 是否可以扩展EventTarget接口?
- 23. 是否可以扩展现有的TypeConverter?
- 24. 是否可以从Twig_Lexer扩展?
- 25. 是否可以将可扩展性量化为一项要求?
- 26. 我可以扩展php类型吗?
- 27. 我可以从类扩展AsyncTask sendBroadcast?
- 28. 我可以扩展Overlay类吗?
- 29. 一个类是否可以扩展两个或更多类
- 30. 类别方法是否可以扩展到子类?