按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。源于此question关于使用__get()和__set()访问私有(private)变量,我想了解一下它们的一般使用方式。我想知道何时何地是使用重载函数的最佳时机,以及您在哪里使用过重载函数(如果有的话)。为了清楚起见,我们正在谈论这些功能:http://us2.php.net/manual/en/language.oop5.magic.php
PHP5引入了魔术方法__get()和__set()。根据我的理解,这是必须编写每个成员的getter和setter的捷径;$var=$name;}function__get($var){return$this->$var;}}$person=newPerson();$person->firstname="Tom";$person->lastname="Brady";echo$person->firstname."".$person->lastname;//print:TomBrady?>我的问题是,这就像公开成员变量一样。classPerson{public$firstname;pu
考虑下面的两个片段,它们本质上做的是一样的。Thankyoufortakingthecensus!";echo"OnbehalfofSergio'sEmporium,wenameyou:".$firstName.$lastName.",conquererofworlds!";//HereI'mjustpullingitfromthePOSTinfo.echo"Ithinkthat'sfittingsinceyou'rea".$_POST["item"];}else{echo"Youdidn'twriteinthenecesarryinformation.";}?>哪个更好用(从安全的角
我想使用分页进行搜索,但我不知道如何将数据“存储”到$_POST数组中,我应该使用session来实现吗?罗伦森 最佳答案 如果您正在进行搜索,那么您是在尝试从服务器获取数据,而不是向其发送数据——这意味着您可能应该使用GET,而不是POST.此外,它还允许您的用户为结果页面添加书签(或通过电子邮件、IM等发送这些链接),这总是很好;而且,还可以使用浏览器的后退/前进按钮而不会出现警告框,这也很好^^(哦,顺便说一句,这将有助于解决您的问题;-)) 关于php-分页和$_POST,我们在
我有一个类,我正在使用__set。因为我不希望它设置任何东西,所以我有一组已批准的变量,它会在实际设置类属性之前检查这些变量。但是,在构建时,我希望__construct方法设置几个类属性,其中一些不在批准列表中。因此,当构造发生时,我执行$this->var=$value,我当然会得到我不允许设置该变量的异常。我能以某种方式解决这个问题吗? 最佳答案 声明类成员:classBlah{private$imAllowedToExist;//noexceptionthrownbecause__set()wontbecalled}
这是最奇特的事情。它来自旧的内部CMS。当我尝试提交更改时,它会提示保存在表单的action属性中链接的文件。标题请求POST/~site/edit/articles/article_save.php?id=54HTTP/1.1Host:example.comUser-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX10.6;en-US;rv:1.9.2.3)Gecko/20100401Firefox/3.6.3Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8A
我有一个php脚本,它通过$_GET获取相对路径名,读取该文件并创建它的缩略图。我不希望用户能够从服务器读取任何文件。只应允许来自特定目录的文件,否则脚本应exit()。这是我的文件夹结构:files/我的脚本是通过mydomain.com/my_stuff/script.php?pathname=files/some.jpg访问的。什么不应该被允许e.例如:mydomain.com/my_stuff/script.php?pathname=files/../db_login.php因此,这是my_stuff文件夹中脚本的相关部分:...$pathname=$_GET['pathnam
我只想让php确定一个复选框是否被选中,但我遇到了获得正确返回的问题。请帮忙。我的html代码OneTwoThree我通过$_GET方法将值传递给php我的php代码:$aa=$_GET["aa"];$bb=$_GET["bb"];$cc=$_GET["cc"];echo$aa."";echo$bb."";echo$cc."";输出是真的错误的假的我接下来只想确定是否每个框都被选中,如果是,则执行一些操作。if($aa==true){$abc="checked";}else{$abc="notchecked";}if($bb==true){$cde="checked";}else{$c
我正在考虑创建自动电子证书的想法。使用fpdf创建自定义证书非常容易PHP类。我设置它的方式是给定一个URLhttp://www.example.com/makepdf.php?name=myname&class=classname您将获得一个PDF证书,其中包含学生姓名和他们从$_GET变量中获取的类(class)。当然,这意味着任何人都可以操纵URL来非常轻松地创建自定义证书。(无论如何,他们可以在Photoshop中执行此操作,但其想法是让操作证书变得不那么简单。)类(class)结束后,我想向每个人发送邮件合并,并为其证书提供唯一的URL。您将如何解决这个问题?我应该只创建一组
我在Apache下运行PHP,我想向页面发送缓慢的POST数据,该页面将在POST数据到达时将消息写入数据库。我使用WebRequest从.NET应用程序发送数据,并将SendChunked设置为true。不幸的是,看起来PHP脚本直到所有POST数据都到达后才开始执行。我查看了apache日志,发现请求立即开始,但是PHP脚本中的echostrftime(...)语句显示它直到所有POST数据之后才运行收到了。有什么方法可以让PHP立即启动?我尝试在PHP.ini文件中设置always_populate_raw_post_data=Off,但这没有任何区别。我的请求的内容类型为app