Questions tagged «php»

有关PHP(一种广泛用于通用脚本语言,特别适合于Web开发)的问题。

7
如何打破“ PHP是一种不良语言”的范式?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 PHP并不是一门糟糕的语言(或者至少没有像某些人建议的那样糟糕)。在我告诉他们之前,我的老师甚至都不知道PHP是面向对象的。当我们说我们是PHP开发人员并质疑我们没有使用别致的语言和框架(例如Django或RoR)或“企业和实体”语言(例如Java和ASP.NET)时,我的客户立即不信任我们。 Facebook是基于PHP构建的。有很多可靠的项目为Web和Web提供动力,例如在企业和政府中使用的Joomla和Drupal。有些框架和库具有我在所有语言中都曾见过的最佳架构(Symfony 2,Doctrine)。PHP具有我所见过的最好的文档,以及许多专业人士。 PHP具有高级OO功能,例如反射,接口,更不用说PHP现在通过traits原生地和干净地支持水平重用。 有一些不好的程序员和脚本小子给PHP带来了不好的声誉,但同时又给PHP社区带来了强大的力量,而且因为很容易完成PHP,所以您常常会以错误的方式做事,理所当然,但是为什么要怪罪语言?。 现在,将其归结为一个实际可回答的问题:什么才是一个好的,扎实的,简短而又可爱的论点,以免被皱眉,避免一pre而就,当您说自己是PHP开发人员时捍卫自己的偏见?。 (向有经验证据当场说服某人(客户或其他人)的人免费提供含奶油的曲奇) PS:我们使用Symfony,代码的结尾是美观且可维护的 PPS:实被写在PHP,经由街舞编译成C ++和部署在Hadoop。此处:http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/1/

1
我已经对课程进行了单元测试,现在如何开始集成测试?
我编写了一个类,用于管理MailChimp列表上的收件人,称为MailChimpRecipient。它使用MCAPI类,它是第三方API包装器。 http://apidocs.mailchimp.com/api/1.3/ http://apidocs.mailchimp.com/api/downloads/ 我将MCAPI对象传递给MailChimpRecipient对象的构造函数,因此我已经使用PHPUnit编写了单元测试,该单元测试可以测试我自己的类中的所有逻辑(我不测试MCAPI类)。我有100%的代码覆盖率,所有测试均通过。这是通过模拟和存根MCAPI对象来完成的。 我的下一步是使用PHPUnit编写集成测试,在该测试中,我将使用真实的MCAPI对象构造MailChimpRecipient固定装置,并设置为使用真实的MailChimp列表。 我写了我认为是集成测试的内容,它基本上是在对象的公共接口上再次运行测试,例如: public function testAddedRecipientCanBeFound() { $emailAddress = 'fred@fredsdomain.com'; $forename = 'Fred'; $surname = 'Smith'; // First, delete the email address if it is already on the list $oldRecipient = $this->createRecipient(); if($oldRecipient->find($emailAddress)) { $oldRecipient->delete(); } unset($oldRecipient); // Add the recipient using the test data $newRecipient = …
19 php  unit-testing 


2
“灯具”的不同含义是什么?
我对理解“固定装置”的概念有些困难。我知道什么是测试套件,测试用例,测试运行,但是“夹具”到底是什么?参数化的测试用例? 在我看来,“夹具”一词的含义或语义可能会因编程语言或测试框架而略有不同?我认为一个phpunit夹具 “ 代码将世界设置为已知状态,然后在测试完成时将其返回到其原始状态。该已知状态称为测试的夹具。 ” 与“ 健身器材 ” 略有不同, “ 夹具是Wiki页面和被测系统(SUT)之间的桥梁,被测系统是要测试的实际系统 ”。 这里附近有软件测试专家可以回答这个问题吗?欢迎引用其他编程语言。

2
在类中定义一个大型私有函数以保持有效状态(即更新对象的数据成员)是否是一个好主意?
尽管在下面的代码中使用的是在电子商务站点中简单的单项购买,但我的一般问题是有关更新所有数据成员以始终保持对象数据处于有效状态的信息。 我发现“一致性”和“国家是邪恶的”是相关的短语,在这里进行了讨论:https : //en.wikibooks.org/wiki/Object_Oriented_Programming#.22State.22_is_Evil.21 <?php class CartItem { private $price = 0; private $shipping = 5; // default private $tax = 0; private $taxPC = 5; // fixed private $totalCost = 0; /* private function to update all relevant data members */ private function updateAllDataMembers() { $this->tax = $this->taxPC * …

6
为小型团队规划编程的最佳方法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我是一家小型创业公司的总监。当前,我们有两名正在构建Web应用程序平台的程序员(一名经验丰富,一名经验较少)。 迄今为止最大的挑战之一是规划过程。程序员通常负责计划自己的工作,但我们不断超出自己设定的期限。例如,他们估计一项任务需要2天,而最终需要8天。 对我而言,很难为他们提供计划支持,因为我缺乏准确估算某个任务将持续多长时间的技术知识。 你有什么主意吗: 这是什么原因,对于程序员来说这很常见吗? 我可以做些什么来支持他们的计划?有没有对小型团队的程序员有用的方法或工具?
18 php  planning 

1
美元符号蓝调:JavaScript和PHP
我从小就对C ++和Java进行编程,那里的一切都是安全而美丽的。编译器一定要检查我是否流浪。当然,每个人在大学里都做了一点Perl,但我没有吸气。这些天的孩子们全都在后端使用PHP,而在前端则使用Javascript。在尝试时髦时,我也这样做(用于Web开发)。我一直遇到的问题是,我不小心在Javascript的常规变量前添加了美元符号($),当然没有人说什么,因为这是jQuery对象经常使用的合法语法。 是否有任何调试工具或开发技巧来捕捉这种美元符号的混乱?您是否经常犯同样的错误,如何从情感上处理错误?Chrome开发者工具并不总是会看到这是Javascript错误。我使用PhpStorm和Emacs进行开发,但是这些并没有引起我的愚蠢,尽管我怀疑Emacs确实可以,但是选择不告诉我有关情况。 如果您认为这个问题很荒谬,我认为您是对的。但是我们生活在一个变量前面有美元符号的世界。在这样的世界里,没有什么是荒谬的。

3
如何设计网站工作流程?
我已经思考了很长时间,却没有找到最佳答案。 首先,我是一位热爱编程的医生,但从未真正地学习过它,除了在家学习和在业余时间玩代码很多年之外。 目前,我正在尝试建立一个小型项目来管理我的诊所,为此,我首先创建了一个我希望能够做的选择列表。 例: 活跃的患者记录。 具有不同角色(例如,患者,护士,博士)的身份验证 预约时间表(包括日历,定期接种疫苗/手术等,并带有提醒) 允许医生创建自己的插件。 仪表板,供医生查看其统计信息 然后,我开始使用codeigniter / mysql / php / jquery并开始编码。 我在开发过程中的步骤:- 第一个数据库。 首先创建所有需要的表。 创建了我所有的模型来处理这些表(1个主模型,在处理基本读/写/更新/验证的同时还考虑了我的表关系 之后,我开始为视图和控制器编码。我首先创建了视图HTML,然后创建了将处理该视图的控制器,并开始编写函数以使视图交互有效。 编写约会视图时的示例(控制器booking.php): 当用户单击时,创建此布局并使表td可单击:jquery get(booking / add_ Patient_form)并弹出它 用户保存时:发布到预订/保存-保存约会,然后重新加载index()函数 等。我继续执行创建视图的相同步骤,然后创建其控制器-包含该视图所需的所有逻辑-完成整个项目。 最后,我所有的目标功能都运行良好,但是由于从一开始就没有PLAN,而且由于整个项目都是脑力激荡和调试,没有任何计划,所以在完成该项目后,我发现自我维护性和灵活性!并且无法将它们链接在一起。 我感觉到网站上的每个页面都是彼此完全隔离的,我什至不记得每个页面的加载方式和内部的功能,而不会偷看! 无论如何,我可以恢复它并进行设计吗?

6
使用多个数据库/服务器与数据进行交互
到目前为止,我必须处理的所有项目都只需要在单个服务器上使用一个数据库。我有兴趣了解更多有关需要扩展的项目如何迁移到多个数据库和/或服务器以帮助管理负载的信息。我知道High Scalability,但是我对一些代码示例或其他资源特别感兴趣,可以从中阅读更多有关该主题的信息。 例如: 如何在多个数据库的两个表之间构造联接?(这里的代码示例会有所帮助)。 是否有用于跟踪哪个数据库中的表的特殊策略? 应用程序代码是否需要知道一个或多个数据库分布在多个服务器上?如果不是,则在什么级别过滤请求? 什么时候可以超越1数据库/ 1服务器设置?需要这样做有多普遍?
18 php  sql 


8
您将如何考虑用于Web应用程序(PHP)开发的最佳实践工作流工具?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 我真的希望有更多经验的人可以按照我的答案示例来编辑问题: 使用版本控制 测试驱动开发 调试代码(适用于php的xdebug) 使用UML图 将OOP用于可维护,可重用的代码 使用框架(例如Zend Framework for php)进行快速的应用程序开发 还有什么或我上面提到的阐述? 基本上,我正在组建一个开发人员团队(我自己是开发人员),并且我想就专业的程序员/设计师等应如何协同工作以及应该使用哪些标准/范例提出一些建议。 另外,如果有人在该主题上有任何书籍或链接,我也欢迎! 我确实找到了我想满足的条件,或者至少满足了一部分条件: http://www.ibm.com/developerworks/websphere/library/techarticles/0306_perks/perks2.html


1
PHP如何在内部表示字符串?
UTF8? UTF16? PHP中的字符串是否也跟踪使用的编码? 让我们以这个脚本为例。说我跑步: $original = "शक्नोम्यत्तुम्"; 实际发生了什么? 显然,我认为$original不会只包含7个字符。这些字形必须在此处分别由几个字节表示。 然后我做: $converted = mb_convert_encoding ($original , "UTF-8"); 会发生什么$converted?有$converted什么不同$original? 它会与字节序列完全相同,$original但编码不同吗?
18 php  strings 

1
为什么PHP如此讨厌?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 最近,我遇到了一些关于PHP多么糟糕的笑话和漫画。 作为对语言的完全无知,这是为什么?是我自己的看法,还是编程社区的总体感觉?
17 php 

5
为什么Python比Java慢但比PHP快[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我已经多次看过各种基准测试,这些基准测试表明一堆语言如何执行给定任务。 这些基准测试始终表明Python比Java慢,比PHP快,我不知道为什么会这样。 Java,Python和PHP在虚拟机中运行 所有这三种语言都将其程序转换为可在操作系统之上运行的自定义字节码-因此,没有一种语言可在本地运行 Java和Python都可以“编译”(.pyc对于Python),但Python的__main__模块未编译 Python和PHP是动态类型的,而Java是静态类型的-这就是Java速度更快的原因,如果是,请说明这如何影响速度。 而且,即使dynamic-vs-static参数正确,也不能解释为什么PHP比Python慢​​-因为两者都是动态语言。 你可以看到一些基准这里和这里,并在这里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.