草庐IT

PHP:包含函数与调用静态函数。这个比那个好吗?

我有一个像这样使用的消息类:RedirectMsg::go('somepage.php',MessageType::ERROR,'Yourmessagehere.');使用常规函数会更好吗?还是个人喜好问题?redirectMsg('somepage.php',MessageType::ERROR,'Yourmessagehere.'); 最佳答案 对象类有助于为函数提供一个sudo伪命名空间,这样它们就不会重叠,这非常有帮助。在全局命名空间中拥有大量函数是一场等待发生的命名灾难。如果您使用的是PHP5.3,您可能需要查看names

php - (PHP) 在同一页面上处理表单提交与在单独的页面上处理相比更好/更少/同样好吗?

我有一个PHP表单,我想知道应该如何处理提交。我记得在学习Rails时,行为是为表单提供一个特殊的处理程序页面,然后将用户重定向到登录页面,这将防止用户通过点击后退按钮并返回到表单提交页面。对于我的PHP表单,为了避免此类错误(并且为了安全起见,但它可能会在其中发挥作用)是否最好通过post将表单数据发送到处理页面,他们将用户重定向到该页面?还是只在与表单相同的页面上处理表单数据就可以了?如果我选择了后者,用户是否有可能通过回击/刷新等方式不小心重新提交数据? 最佳答案 Post-Redirect-Get是为web表单推荐的设计模式

php - 是多维数组好还是多维数组好?

我正在从事一个项目,我必须在PHP中对数据数组执行计算。其中一些计算涉及使用多个数组。都是相同的长度(计数)。问题:将数据放入多维数组或保留在两个数组中是否更有效(内存和处理器使用)。请记住,其中一些数组可能有数千个值。示例:为了更好地说明,这里是数据和用法示例:X=1,2,3,4,5Y=2,3,3,4,4计算X和Y之间的相关性。为此:从列中获取X和Y的总和从列中获取X^2和Y^2的总和然后用相关公式计算我的想法:将两个数组组合成一个多维数组将允许更少的迭代计算,但需要先将它们组合。所以我主要关心的问题和询问的原因是创建多维数组并对其进行1倍迭代是否需要更少的资源,或者将它们分开并迭代

php - 通过 URL 缓存是一种好习惯吗?

我正在用PHP构建一个相当大和复杂的CMS,我的计划是在它的某些部分实现缓存(有可能为特定页面/部分打开/关闭缓存)。经过一番研究后,我得出结论,使用URL是定位和检索cahced文件的最佳做法。我的意图是实现一个“整页”解决方案,以避免干扰查询缓存并缓存整个页面,对于所有应该被缓存的页面。伪代码如下(不包括修改日期):$filename=md5($the_full_url);if(file_exists($filename))get_cached_file($filename);elsewrite_cached_file($filename);这种方法可以被认为是好的做法吗?

php - 依赖注入(inject)——传一个完整的类好还是传一个类名好?

对于依赖注入(inject),我知道我必须将一个类的实例传递给主实例而不是主类创建它自己的实例,就像这样(php):classClass_One{protected$_other;publicfunctionsetOtherClass(An_Interface$other_class){$this->_other_class=$other_class;}publicfunctiondoWhateverYouHaveToDoWithTheOtherClass(){$this->_other_class->doYourThing();}}interfaceAn_Interface{publ

php - laravel图像干预是压缩用户上传图像的好方法吗?

我正在检查这个laravel库来压缩用户上传的图像。http://image.intervention.io/我想知道这对用户上传的图片(个人资料图片)是否是个好主意?如果用户上传一张尺寸为1400x600的图片,它会被调整为200x200怎么办?它会是一个拉伸(stretch)的图像吗? 最佳答案 是的,它会被拉伸(stretch)。你想试试fit()方法:Combinecroppingandresizingtoformatimageinasmartway.Themethodwillfindthebestfittingaspect

php - 为什么从 htdocs 目录中删除 PHP 文件是一个好习惯?

为什么从htdocs/public目录中删除PHP文件是一个好习惯?无论如何,它们都在被解析,对吧? 最佳答案 如果PHP文件在某些​​时候未由于配置错误或解释器失败而被解析,则源代码(并且可能密码)以明文形式向世界公开。此外,人为错误,例如将.php文件重命名为.php.bak那样危险性较小。几年前我遇到过一次,当时一位来自Perl世界并且对PHP完全一无所知的同事决定在我们共享的服务器上将“short_open_tags”设置为“关闭”,因为short_open_tags搞砸了一些XML实验他去了()。那很有趣!:)还有第二件事

php - 在 Codeigniter 中处理发布数据的好方法是什么?

即你会推荐我使用这样的Controller方法吗:functionsave(){if(!is_bool($this->input->post(''))){$post_data=$this->input->post('');$this->mymodel->save($post_data);}$this->load->view('myview');}或者您会推荐使用两种方法来编写它吗?functionsave(){if(!is_bool($this->input->post(''))){$post_data=$this->input->post('');$this->mymodel->sa

php - 正则表达式匹配包含电话号码的文本中正好 6 个数字的字符串

我有一些自由文本block,其中包含我需要捕获的电话号码和多个6位数字。6位数字有一个可选的“,”。6位数字的示例可以是123456或123,456,但我需要将其与12344568901等电话号码区分开来我有:preg_match_all(",\[\W_][0-9]{3}(?:,)[0-9]{3}[\W_][\D]\d",$html,$value);有更好的方法吗? 最佳答案 如果没有示例输入,但要查看正则表达式有点困难,但有几点观察:[0-9]可以替换为\d(因为,你已经在最后使用它了)[\D]与\D完全相同。它本身就是一个字符类

php - 学习php调试的好资源

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。您推荐学习php调试的最佳资源是什么?是否有任何特定的书籍、截屏视频、博客文章或文章是您真正认为有用的?