Questions tagged «php»

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

8
在PHP中使用<?=标记是不好的做法吗?
我最近遇到过这个PHP标签&lt;?= ?&gt;,但我不愿意使用它,但是它痒得很厉害,以至于我想请您使用它。我知道使用短标签是一种不好的做法,&lt;? ?&gt;而应该使用完整标签&lt;?php ?&gt;,但是这个&lt;?= ?&gt;呢? 这将节省一些键入内容,并且对于代码可读性更好,IMO。所以代替这个: &lt;input name="someVar" value="&lt;?php echo $someVar; ?&gt;"&gt; 我可以这样写,它更干净: &lt;input name="someVar" value="&lt;?= $someVar ?&gt;"&gt; 使用此运算符是否会皱眉?
189 php  shortcuts 

7
您被雇用为一个安全性高的网站修复一个小错误。查看代码,其中充满了安全漏洞。你是做什么?[关闭]
我被某人雇用在网站上做一些小工作。这是一家大型公司的网站。它包含非常敏感的数据,因此安全性非常重要。在分析代码后,我注意到它存在安全漏洞-读取大量PHP文件,将用户获取/发布输入直接扔到mysql请求和系统命令中。 问题是,为他创建站点的人是一位程序员,有家人和孩子依靠这项工作。我不能只说:“您的站点是一个脚本儿童游乐园。让我为您重做一次,一切都会好起来的。” 在这个情况下,你会怎么做? 更新: 我在这里遵循了一些好的建议,并礼貌地向开发人员报告说,我在网站上发现了一些可能的安全漏洞。我指出了这一点,并说那里的SQL注入攻击可能存在一个漏洞,并询问他是否知道。他回答:“当然,但是我认为,要利用它,攻击者应该掌握有关数据库结构的信息;我必须更好地理解”。 更新2: 我说并非总是如此,建议他遵循此Stack Overflow问题链接以正确处理它:如何防止PHP中的SQL注入?他说他会研究的,并感谢我以前告诉过他。我想我的工作已经完成,谢谢大家。

30
您想在PHP中拥有哪些功能?[关闭]
既然现在是假期,每个人都在许愿,我想知道-您希望PHP将添加哪些语言功能?我对这种语言的一些实用建议/希望很感兴趣。实际上,我的意思是: 可以实际完成的操作(不是:“我希望PHP猜出我的代码的含义并为我修复错误”或“我希望任何代码都可以在5毫秒内执行”) 不需要将PHP更改为另一种语言的东西(不是:“我希望他们放弃$符号并使用空格而不是花括号”或“我希望PHP被编译,静态键入并以#命名”) 不需要破坏所有现有代码的东西(不是:“让我们重命名500个函数并更改它们的参数顺序”) 东西不改变语言或它的一些有趣的方面(不是:“我希望有扩展XYZ协议,支持”或“我想了bug#12345终于固定”) 不仅仅是喧嚣的东西(不是:“我希望PHP不会糟透了”) 有人有美好的祝愿吗? 国防部编辑:Stanislav Malyshev是一名核心PHP开发人员。

21
“在开始了几年的职业生涯后就不要编程了”。这是一个合理的建议吗?[关闭]
我是一位经验丰富的开发人员,在PHP方面有大约5年的经验,而在Java,C#方面则略少一些,并且现在尝试学习一些Python。自从我作为程序员的职业生涯开始以来,我时不时地被其他程序员告知,编程适合于职业生涯的前几年(大多数人将其视为5年),并且必须在以后改变方向。它。它们出现的原因包括头痛和与编程相关的压力。他们还说,程序员的社交能力较差,通常不愿给家人时间,等等。尤其是“哦,来吧,你不能一辈子编程!” 我在这里有些困惑,需要询问其他人。如果我退出编程,那该怎么办?我认为在这种情况下,教学可能是一个不错的选择,但可能需要首先获得博士学位。也许还值得注意的是,在我国(巴基斯坦),程序员的生活不是很好,因为通常他们必须在办公室里多花2-3个小时来完成紧急编程任务。我认为其他国家和地区的情况也有些相似。 在该领域工作5年后,您认为将职业从编程转变为其他职业是合理的建议吗? 更新 噢,我不知道人们在这一领域可以拥有40多年的经验。看到人们自1971年以来就开始这样做了,我感到既兴奋又惊奇。这意味着我出生前15年!能够与这样经验丰富的人交谈很高兴,我们在巴基斯坦没有这样的机会。 再次感谢您提供的所有帮助和分享。让您对此有所想法,这是一个很好的经历。

3
如何在面试中测试PHP技能?[关闭]
我的公司需要聘用PHP开发人员,但是没有人在我公司中拥有PHP知识,因此我们很难测试PHP技能。如果是C / Java开发人员,我会请他编写《生命游戏》的快速实现,但是PHP是一种完全不同的语言。 我感兴趣地看到了这个测试: http://vladalexa.com/scripts/php/test/test_php_skill.html 还有其他建议吗?
58 php  interview 

12
在您的JavaScript中使用PHP是否被视为不良做法
在这个网站上,有很多次我看到有人试图做这样的事情: &lt;script type="text/javascript"&gt; $(document).ready(function(){ $('&lt;?php echo $divID ?&gt;').click(funtion(){ alert('do something'); }); }); &lt;/script&gt; 我认为这不是人们自然会陷入的某种模式。必须有某种形式的教程或学习材料来说明这一点,否则我们不会看到太多。我要问的是,我在这方面做得太大了吗,或者这真的是不好的做法吗? 编辑: 正在和我的一个朋友谈论这件事,他经常在他的JavaScript中放入红宝石,他提出了这一点。 是否可以在JavaScript中动态放置应用程序范围的常量,这样就不必编辑两个文件。例如... MYAPP.constants = &lt;php echo json_encode($constants) ?&gt;; 还可以直接对计划在库中使用的数据进行编码 ChartLibrary.datapoints = &lt;php echo json_encode($chartData) ?&gt;; 还是我们应该每次都拨打AJAX?

4
PHP中变量的主要命名约定是什么:驼峰或下划线?[关闭]
人们的共识似乎是,应该遵循他们所开发平台的惯例。看到: 下划线还是驼峰式? 命名约定:camelCase与underscore_case? 然而,PHP似乎没有遵循任何的约定内部(没有惊喜出现),甚至方法和功能(例如mysqli::set_local_infile_default, PDOStatement::debugDumpParams); 但是,下划线似乎在函数名称中占主导地位。 但是,我找不到的是:PHP中变量的主要命名约定是什么?


5
什么时候使用PHP或ASP.NET?[关闭]
我已经在使用PHP和ASP.NET开发Web应用程序方面进行了广泛的工作,但是客户经常问我的问题之一是要继续开发php网站还是asp.net网站。 所以自然而然地想到的第一件事就是回答这样的问题: PHP是开源的,而ASP.NET是Microsoft的。 通常说完这样的话,客户的脸上就会一片空白。显然,一个是开放源代码而另一个不是开放源代码的事实并没有真正使它们困惑。这是有充分理由的,因为当我第一次听到它的时候,并没有告诉我太多。 通过与两家公司的合作,我知道在网站开发方面各有千秋。 我的问题是,到目前为止,ASP.NET和PHP有何区别? 特征 安全 可扩展性 构架 平均开发时间 我正在尝试汇总事实清单,以便与客户进行比较,以便可以在适当的开发平台上做出明智的选择。

7
在PHP中类型转换变量,这样做的实际原因是什么?
正如我们大多数人所知道的,PHP具有弱类型。对于那些不喜欢的人,PHP.net说: PHP在变量声明中不需要(或不支持)显式类型定义。变量的类型由使用该变量的上下文确定。 喜欢它还是讨厌它,PHP会即时重新发布变量。因此,以下代码有效: $var = "10"; $value = 10 + $var; var_dump($value); // int(20) PHP还允许您显式转换变量,如下所示: $var = "10"; $value = 10 + $var; $value = (string)$value; var_dump($value); // string(2) "20" 太酷了……但是,对于我自己的一生,我无法想到这样做的实际原因。 我对支持Java的语言进行强类型输入没有问题。很好,我完全理解。另外,我知道-并充分了解- 函数参数中的类型提示的用处。 上面的引用解释了我类型转换的问题。如果PHP可以随意交换类型,即使您强制转换了类型,PHP也可以这样做。当您在操作中需要某种类型时,它可以即时执行。这使得以下内容有效: $var = "10"; $value = (int)$var; $value = $value . ' TaDa!'; var_dump($value); // string(8) "10 …

6
Facebook为什么将PHP代码转换为C ++?[关闭]
我读到Facebook是从PHP开始的,然后为了提​​高速度,他们现在将PHP编译为C ++代码。如果是这样,他们为什么不这样做: 只是用C ++编程?按下将PHP移植到c ++代码的魔术编译器按钮时,肯定会出现一些错误/错误,对吗? 如果这个令人印象深刻的转换器运行得很好,为什么还要坚持使用PHP?为什么不使用Ruby或Python之类的东西呢?注意-我随机选择了这两个,但是主要是因为几乎每个人都说用这些语言进行编码是一种“乐趣”。那么,为什么不开发一种超级出色的语言,然后点击神奇的c ++编译按钮呢?
42 c++  php  compiler  facebook 

7
Zend Framework为什么如此复杂?
我是Web开发人员,并且具有使用PHP开发多个Web应用程序的经验。我有为自己开发产品的想法,并决定使用基于MVC的框架,因为我真的很喜欢MVC的想法,以及如何轻松地管理和修改应用程序而没有任何困难。 我选择了Zend Framework,这似乎比学习一种新的编程语言更加困难。即使运行一个小型应用程序,一次有很多事情要做。 同样,路由的想法非常复杂,因为它对于核心程序员来说是新的。我知道这里的人读过成千上万个这样的问题,就像我问的那样,但我不想在一夜之间学习Zend Framework。我愿意根据需要提供尽可能多的时间,但是直到现在,这对我来说还是没有意义的。Zend库中有成千上万个类,但是菜鸟怎么会知道在哪里使用特定类以及如何使用它?我仍然很难理解Zend Framework的引导程序及其映射。我阅读了该手册,按照手册进行操作后,事情就开始起作用了,但是我确实并不完全了解它们的实际情况。 我仍然不知道模型,视图和控制器如何协同工作以及如何在Zend Framework中计划应用程序。当涉及到核心php时,我心中确切知道该怎么做,而不是轻松地将它们转换为代码,但是在Zend Framework中,我不知道如何转换我的想法。

10
将goto用于这些明显且相关的情况下,它有什么不好?
我一直都知道那goto是不好的事情,被锁在一个地下室,永远不会永远变好,但是今天我遇到了一个代码示例,使用起来很合理goto。 我有一个IP,需要检查它是否在IP列表中,然后继续执行代码,否则引发异常。 &lt;?php $ip = '192.168.1.5'; $ips = [ '192.168.1.3', '192.168.1.4', '192.168.1.5', ]; foreach ($ips as $i) { if ($ip === $i) { goto allowed; } } throw new Exception('Not allowed'); allowed: ... 如果我不使用,goto那么我必须使用一些变量,例如 $allowed = false; foreach ($ips as $i) { if ($ip === $i) { $allowed = true; …
40 php  goto 

11
为什么对SQL注入的防护不是高优先级?
在Stack Overflow上,尽管基本解决方法已广泛使用了十多年,但我在问答中看到许多PHP代码都具有极易受到SQL注入攻击的MySQL查询。 为何今天仍在使用这些类型的代码片段?
39 php  mysql 

2
为什么PHP不支持函数重载?
我想知道编程语言的主要功能之一是否能够通过参数重载函数。我认为这是面向对象编程必不可少的内容。 它是故意遗留下来并且不允许的吗?还是超载不是一个好习惯?

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.