草庐IT

code_line

全部标签

php - 试图避免 "spaghetti code",为什么多个 if-else 不好?

我刚刚在读top100signsofspaghetticode我遇到了数字4,它简单地说明:if($status=="awake"){$actitivity="Writingspaghetticode";}elseif($healthstatus=="OK"){$activity="Sleep";}else{print"CALL911IMMEDIATELY!";}我在otherspaghettidiscussions中看到过这种多重if-else模式.我有点困惑为什么会这样,即使它适用于这个例子。上面的例子不好是因为第一个变量是activity,它表示编码器需要一些sleep,所以这是

php - auto_detect_line_endings - 有副作用吗?

我正在编写一个处理CSV的脚本,我发现设置auto_detect_line_endings似乎是处理在Mac上创建的CSV的方法。进行此设置更改是否有任何可能的缺点或副作用?我似乎没有发现任何东西(这引出了一个问题,你为什么不总是戴上它?)ini_set('auto_detect_line_endings',true); 最佳答案 仅适用于在具有\r行结尾的古老Mac上创建的CSV文件。这不是默认设置,因为此类文件很少见,而且性能损失很小。如果您想对要处理的CSV文件尽可能宽容,打开它是安全的。

php - 当代码完全不同时,为什么 Scrutinizer 会说 "duplicate code"?

当这两种方法完全不同时,为什么Scrutinizer会说“重复代码”?这是误报还是Scrutinizer确实想以更抽象的方式来看待它? 最佳答案 我的猜测是他们做了所谓的“规范化”,即文本被分成更小的部分(称为标记),然后其中一些标记被不同的文本替换,使它们完全相同。例如,所有数字和字符串都归一化为相同的数字/字符串。这确保您可以找到仅在文字上不同的克隆,这很有用,因为这通常意味着您可以提取一个实用方法,将这些不同的文字作为参数,从而减少代码中的冗余。因此对于克隆检测器,您的代码将看起来像这样(所有大写文本都已标准化):public

php - 如何修复 Visual Studio Code 中的以下 phpcs 错误?

我是VS代码的新手。我正在尝试使用PHP,但我不断收到此通知。phpcs:Requestworkspace/configurationfailedwithmessage:unabletolocatephpcs.pleaseaddphpcstoyourglobalpathorusecomposerdependencymanagertoinstallitinyourprojectlocally.Intellisense也不适用于PHP。我使用的是Windows系统。我尝试下载并安装Composer,但问题仍然如屏幕截图所示。]1我安装了一些扩展,在屏幕截图中可以看到,但问题仍然存在。

php - 为什么 Code Igniter 无法检测到我的表单是通过 POST 提交的?

我的jQueryMobile应用程序的CodeIgniterView中有一个表单。settings"method="post"id="settingsForm">FirstNameLastName但是,当我将这段代码写入到action指定的URL导致的Controller方法中时:echo($_SERVER['REQUEST_METHOD']=='POST')?"yay":"nay";当我点击提交按钮时,“nay”被写入页面。为什么CodeIgniter无法判断我正在提交帖子请求? 最佳答案 如果您想确定您是否有POST数据或请求是

PHP 代码点火器 : Is there an elegant way to to get the SMTP return code upon a mail failure

当使用标准的Codeigniter时mail->send()它只返回TRUE或FALSE。但是,我需要以不同方式处理某些SMTP返回代码。我可以解析出调试文本信息,或者以某种方式尝试覆盖Codeigniter的邮件处理程序。有什么直接而优雅的方法可以做到这一点吗?提前致谢。 最佳答案 我认为在CodeIgniter中没有针对此的内置机制。您可以做的是扩展CI电子邮件类并添加一个函数来公开protected_debug_msg数组。如果您查看电子邮件类的源代码,您会看到print_debugger()函数正在将_debug_msg数组

php - 将数据放入php ://input from command line

我有一个从php://input读取的小PHP脚本.使用我的命令行我可以运行脚本但我不知道如何“填充”php://input.我尝试使用phpfile.php但它填充了php://stdin不是php://input脚本可以总结为: 最佳答案 php://input仅适用于从网络服务器运行的脚本。当CLI脚本需要访问标准输入时,它们使用php://stdin,或者已经打开的流STDIN:或 关于php-将数据放入php://inputfromcommandline,我们在StackOve

PHP 警告 : require_once(/var/www/html/wp-config. php) : failed to open stream: Permission denied in/var/www/html/wp-load. php on line 37

我正在apache上创建一个Wordpress应用程序服务器,在访问url时收到错误500。因此,我确实检查了httpd/logs/error_log,以下是错误[SunJan1522:42:54.4403492017][:error][pid767][client10.203.116.148:9173]PHPWarning:require_once(/var/www/html/wp-config.php):failedtoopenstream:Permissiondeniedin/var/www/html/wp-load.phponline37[SunJan1522:42:54.44

command-line - PHP 命令行 php.ini 路径错误

我正在尝试在命令行上运行一些PHP页面,但在使用mysql和其他PHP扩展时遇到了一些问题。运行php--ini会产生以下输出:ConfigurationFile(php.ini)Path:/usr/local/libLoadedConfigurationFile:(none)Scanforadditional.inifilesin:(none)Additional.inifilesparsed:(none)当我在命令行上运行php时,它找不到我的php.ini文件。这是因为路径不正确。我的php.ini实际上位于/etc/php.ini中,如我的phpinfo();文件中所述。PHP

php - xdebug 远程 : can I execute php code or change variables?

是否可以使用xdebug的远程调试在断点期间执行任意PHP代码或至少更改变量的值?我正在使用SublimeText2插件SublimeXDebug. 最佳答案 Xdebug支持通过DBGp协议(protocol)修改变量。它还可以执行(eval)代码。一些IDE,如Komodo和PhpStorm允许您通过IDE更改值。其他人(例如SublimeXdebug)很可能不允许这样做。对DBGp命令property_set的引用位于:http://www.xdebug.org/docs-dbgp.php#property-get-prope