草庐IT

php - 为什么 PHP Eclipse 中没有重构工具?我需要安装什么吗?

我正在寻找在EclipseJava中看到的“突出显示代码->右键单击​​->提取方法”类型的功能。这适用于PHP吗? 最佳答案 我使用的是ZendStudio7,它也是Eclipse产品,我可以通过“重构”子菜单看到该选项Highlightcode->right-click->Refactor->ExtractMethod不确定PHPEclipse是否有同样的东西。 关于php-为什么PHPEclipse中没有重构工具?我需要安装什么吗?,我们在StackOverflow上找到一个类似的

PHP 控制台脚本/传递默认参数/重构 fopen() fread() fwrite() fclose()

我写了这个小脚本来替换UbuntuGnome的Numix主题的颜色:只要我传递两个参数,脚本就会按预期工作。如何为参数设置默认值?我是否应该使用file_put_contents()进行重构? 最佳答案 关于PHP控制台脚本/传递默认参数/重构fopen()fread()fwrite()fclose(),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/27753294/

php - 如何重构我嵌套的 3 个深 foreach 循环

我正在使用允许三重数据透视表但不支持批量插入的laravelComposer包。所以我一直循环遍历每个数组,以确保三个表中的每个id在我的三重数据透视表中都有匹配项。我的工作有效,但我想要一些关于如何重构我的函数的建议,这样我就不必有那么多嵌套循环了。我在考虑使用数组映射。publicstaticfunctionaddKeyPhraseToPivotTable($ids){$locations=Location::where('account_id',self::$items[0]['account_id'])->get();$urls=Url::where('account_id',

PHP - 重构此 if 语句以避免重复

在这段代码中,我们输入$inputs['user_id']3次。if(isset($inputs['user_id'])&&$inputs['user_id']){//Theconsumerispassingauser_iddoSomethingWith($inputs['user_id']);}为了避免重复并避免索引user_id不存在的任何通知,我能做的最可读和最可靠的重构是什么?谢谢。 最佳答案 这里的复制没有错。在检查变量是否已设置之前,您不能将$inputs['user_id']分配给变量,否则会产生一个Noticeund

php - 重构 PHP 类

我正在尝试重构一个PHP类。我原来的类有一个构造函数和一个大型方法,该方法通过各种操作运行一个字符串并在最后吐出结果。classString{publicfunction__contstruct(){//acoupleofinitialisationthings}publicfunctionmake($string){//verylargemethodthatdoeslotsofdifferenttypesoffilteringtoaninputstring}}我的类(class)通过scrutinizer-ci运行,它建议的一件事是使用Composer方法模式将大型方法重构为较小的自

php - 重构我的表单的最佳方法(面向 oop 的程序?)

(注意:这与thisquestion相关,但我认为它可以写得更清楚,所以我再次尝试——我的更新只在有限的范围内提供帮助。)我继承了一些代码,这些代码创建了一个复杂的表单,其中包含许多部分和许多可能的View,具体取决于大量参数。我已经使用它一段时间了,终于有机会考虑进行一些重构。它目前是按程序编写的,具有如下所示的一堆功能:get_section_A($type='foo',$mode='bar',$read_only=false,$values=array()){if($this->type=='foo'){if($this->mode=='bar'){}else{}}else{}}

php - 如何在 CakePHP 中重构更好的模型函数?

我正在阅读编程最佳实践,据说在创建一个函数时,我们应该让它只完成一个特定的任务。我得到了检索数据及其相关数据的模型函数。示例:$this->Student->StudentAssignments();目前,此函数检索学生的作业以及每个作业的问题和有关学生的数据。我都用它们。我的困境是,如果我尝试创建单独的函数来检索相关数据(学生和问题数据),这会很费力,因为我正在对数据库进行更多调用。你们有什么建议? 最佳答案 在进行这种重构时要记住一些事情......我的模型中通常会有一个Model->getSomethingAndSomethi

php - 重构以消除静态方法代码异味

我有我需要创建的每个域对象的当前基本结构:classModel_CompanyextendsLP_Model{protectedstatic$_gatewayName='Model_Table_Company';protectedstatic$_gateway;protectedstatic$_class;publicstaticfunctioninit(){if(self::$_gateway==null){self::$_gateway=newself::$_gatewayName();self::$_class=get_class();}}publicstaticfunction

php - 这个 MVC Controller 代码是否需要重构?

我正在为MVC应用程序(Kohana/PHP)编写一个CSV/Excel-->MySQL导入管理器。我有一个名为“ImportManager”的Controller,它有一个名为“index”(默认)的Action,它在网格中显示所有有效的.csv和.xls位于特定目录中并准备好导入的文件。然后用户可以选择他想要导入的文件。但是,由于.csv文件导入到一个数据库表和.xls文件导入到多个数据库表,我需要处理这个抽象。因此,我创建了一个名为SmartImportFile的helper类,我将每个文件发送到该类,.csv或.xls并且然后我得到然后要求这个“智能”对象将该文件中的工作表(是

php - 将数组重构(转置)为唯一键

这个问题在这里已经有了答案:TransposingmultidimensionalarraysinPHP(12个答案)关闭8年前。我正在转置一些数据库结果以生成统计数据。原始数组:Array([0]=>Array([a]=>apple[b]=>beer[c]=>chocolate)[1]=>Array([a]=>aardvark[b]=>bear[c]=>chupacabra))期望的结果:Array([a]=>Array([0]=>apple[1]=>aardvark)[b]=>Array([0]=>beer[1]=>bear)[c]=>Array([0]=>chocolate[1]