Sublimetext3 xdebug忽略错误抑制-未安装尖叫
我已经安装了Sublimetext3 xdebug忽略错误抑制-未安装尖叫,sublimetext3,xdebug,Sublimetext3,Xdebug,我已经安装了xdebug,正在ubuntu14.10笔记本电脑上使用sublimitext3进行开发。我的问题是使用xdebug解析的@符号抑制的错误。因此,在我整洁的mvc架构中,任何自动加载器都意味着我必须反复按run快捷键,以最终查看我的更改是否有效。非常恼人。更重要的是,我没有启用“尖叫”功能。在myphpinfo()中,搜索scream只会生成xdebug.cream=Off 所以。。。在我的自动加载器中,以下内容将触发xdebug警告 @include $class . ".php"
xdebug
,正在ubuntu14.10
笔记本电脑上使用sublimitext3
进行开发。我的问题是使用xdebug
解析的@
符号抑制的错误。因此,在我整洁的mvc架构中,任何自动加载器都意味着我必须反复按run
快捷键,以最终查看我的更改是否有效。非常恼人。更重要的是,我没有启用“尖叫”功能。在myphpinfo()
中,搜索scream
只会生成xdebug.cream=Off
所以。。。在我的自动加载器中,以下内容将触发xdebug警告
@include $class . ".php";
我是否必须明确告诉xdebug
不要忽略错误?我是否可以通过编程方式声明希望xdebug忽略@include(
警告),但触发include(
警告)
感谢您的帮助
sublimitext 3 xdebug设置
{
// For remote debugging to resolve the file locations
// it is required to configure the path mapping
// with the server path as key and local path as value.
//
// Make sure to use absolute path when defining server path,
// because Xdebug debugger engine does not return symbolic links.
//
// Example:
// "/absolute/path/to/file/on/server" : "/path/to/file/on/computer",
// "/var/www/htdocs/example/" : "C:/git/websites/example/"
"path_mapping": {
},
// Determine which URL to launch in the default web browser
// when starting/stopping a session.
"url": "",
// An IDE key is used to identify with debugger engine
// when Sublime Text will start or stop a debugging session.
//
// This package does not filter sessions by IDE key,
// it will accept any IDE key, also ones that do not match this configured IDE key.
// It is merely used when launching the default web browser with the configured URL.
"ide_key": "",
// Which port number Sublime Text should listen
// to connect with debugger engine.
"port": 9000,
// Show super globals in context view.
"super_globals": true,
// Maximum amount of array children
// and object's properties to return.
"max_children": 32,
// Maximum amount of
// variable data to initially retrieve.
"max_data": 1024,
// Maximum amount of nested levels to retrieve
// of array elements and object properties.
"max_depth": 1,
// Break at first line on session start, when debugger engine has connected.
"break_on_start": false,
// Break on exceptions, suspend execution
// when the exception name matches an entry in this list value.
"break_on_exception": [
// E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR
"Fatal error",
// E_RECOVERABLE_ERROR (since PHP 5.2.0)
"Catchable fatal error",
// E_WARNING, E_CORE_WARNING, E_COMPILE_WARNING, E_USER_WARNING
//"Warning"
],
// Always close debug windows and restore layout on session stop.
"close_on_stop": false,
// Do not show possible password values in context output.
"hide_password": false,
// Show in output parsed response instead of raw XML.
"pretty_output": false,
// Always launch browser on session start/stop.
// Note: This will only work if you have the 'url' setting configured.
"launch_browser": false,
// When launching browser on session stop do not execute script.
// By using parameter XDEBUG_SESSION_STOP_NO_EXEC instead of XDEBUG_SESSION_STOP.
"browser_no_execute": false,
// Do not use the debugging window layout.
"disable_layout": false,
// Window layout that is being used when debugging.
"debug_layout" : {
"cols": [0.0, 0.5, 1.0],
"rows": [0.0, 0.7, 1.0],
"cells": [[0, 0, 2, 1], [0, 1, 1, 2], [1, 1, 2, 2]]
},
// Group and index positions for debug views.
"breakpoint_group": 2,
"breakpoint_index": 1,
"context_group": 1,
"context_index": 0,
"stack_group": 2,
"stack_index": 0,
"watch_group": 1,
"watch_index": 1,
// Custom gutter icons for indicating current line or enabled/disabled breakpoints.
//
// Do not use same icon for following values, because Sublime Text is unable
// to use the same icon for different scopes, in case there are duplicate icons
// detected it will fall back to the corresponding icon in the package.
"breakpoint_enabled": "circle",
"breakpoint_disabled": "dot",
"breakpoint_current": "",
"current_line": "bookmark",
// Path to Python installation on your system.
// Which is being used to load missing modules.
//
// It is recommended to configure your Python path for Sublime Text 2
// especially on older UNIX systems, where some modules (xml.parsers.expat)
// might be missing and could improve performance of package.
//
// Example:
// "python_path" : "/usr/lib/python2.7"
"python_path" : "",
// Show detailed log information about communication
// between debugger engine and Sublime Text.
// Log can be found at Packages/User/Xdebug.log
"debug": false
}
以及我的项目特定设置(以防万一):
我没有sublime文本,我是PhpStorm的粉丝,因此我无法为您验证任何内容。但是,您应该能够添加一个不包括通知、警告等的中断例外配置,并查看该配置是否适用于您: [更新2015-03-06] 如果您的IDE甚至在被抑制的错误上都出现了中断,那么我怀疑这是一个选项。然而,我的建议是不要在任何错误上中断IDE,因为您可以很容易地在错误日志中看到带有尾部的错误,并且我不认为被抑制的错误会出现。然而,事实上,这对于您来说是一个问题,这听起来很简单就像你对很多错误使用错误抑制…只有我的两分钱,但这种情况永远不会发生 即使是被抑制的错误也会降低应用程序的性能…因此,如果您使用抑制来避免测试未定义的索引,等等
$var = @$_POST['name']
为了避免这样做:
$var = isset($_POST['name']) ? $_POST['name'] : null;
然后,您应该重新考虑您正在做什么,并停止使用抑制。例如,最好编写一个包装类:
class Input {
private $_input;
public function __construct( array $data ) {
$this->_input= $data;
}
public function get( $name ) {
return isset($this->_input[$name]) ? $this->_input[$name] : null;
}
}
这样做不仅使您不必抑制错误,而且使您的代码更加灵活,并且——更不用说——在输入被注入时能够由单元测试运行
$data = new Input($_POST);
$var = $data->get('name');
奇怪的是,我几乎使用默认设置,XDebug什么都不做——即使是异常情况,除非我设置了断点……这可能是您的IDE设置,而不是XDebug。可能很容易。将为xdebugI添加我的IDE设置在我的设置中只有
致命错误未注释。但我希望看到未被抑制和忽略的警告是的
class Input {
private $_input;
public function __construct( array $data ) {
$this->_input= $data;
}
public function get( $name ) {
return isset($this->_input[$name]) ? $this->_input[$name] : null;
}
}
$data = new Input($_POST);
$var = $data->get('name');