草庐IT

php - 一种非OO的PHP设计模式,最适合这种情况的PHP模式

我们得到了一个php库存程序。然后我们应该说设计模式是否会使程序更好,或者它是否只会使程序更复杂。程序结构如下。该程序被分解为嵌入了html的php脚本。要么(A)一个完整的php页面专门用于一个选项,要么(B)一个选项的逻辑在另一个脚本页面内,该页面用于类似操作的其他选项。(这不包括简单的按钮,例如“重置”和“返回主页”。)(A)例如,一旦您打开网站,就会出现一个带有选项的导航菜单。当您单击一个选项时,例如在客户下,有一个“查看”链接。单击后,您将被带到另一个页面,其中包含与更多选项相对应的其他链接,例如“编辑”和“删除”。通常,对于这个网站,每个选项都对应于它自己的php脚本页面。

php - isset($_SESSION ['admin' ]) 是一种授予访问权限的危险方式吗?

如果(为了争论)'admin-access'在php中被授予:if(isset($_SESSION['admin']))//thissessionwouldbeset{//grantaccess;}//afterasuccessfulloginelse{//redirect;}如果您知道session的名称(在本例中为admin),这会不会特别容易绕过和伪造?换句话说,如果所有脚本都要求“设置”session,有人可以轻易伪造$_SESSION吗? 最佳答案 使用isset()对安全性来说还不错。如何使用它取决于您的逻辑。如果您不仅

php - 一种在每个脚本的基础上禁用 Monolog 的方法?

我们有一些相当大的数据导入脚本(Symfony“命令”)由于Monolog内存不足而出错(第58行的vendor\monolog\src\Monolog\Formatter\LineFormatter.php)。我们通常使用Monolog,所以不想完全禁用它。 最佳答案 我意识到这是一个老问题,但是当我遇到一个长时间运行的、使用Monolog的脚本产生内存不足错误的问题时,结果证明问题是Monolog的“fingers_crossed”处理程序缓冲了大量日志消息.我通过为有问题的Monolog处理程序设置“buffer_size”变

php - 在 session 中保存对象是一种好习惯吗?

我正在PHP上开发一个为许多客户动态定制的通用应用程序。我有类client,我在其中加载客户端的样式和首选项。我的问题是:在session中保存该对象是一种好习惯吗?(我认为这是最好的解决方案,而不是在每个页面中创建对象,这将需要大量的mysql查询。 最佳答案 在处理session时,您需要考虑的事情很少。您不应在session中存储变化较大的值。我认为这对您来说不是问题,因为偏好通常足够小。当您在session中存储对象时。您可能无法获得实时更新。例如,假设同一用户使用两个单独的浏览器和/或机器登录,并在一个浏览器和/或机器上修

PHP - 是否有一种简单的方法可以从 Smarty 更改为 TWIG 模板系统?

我只是想知道是否有一种简单的方法可以从smarty转换到Twig模板系统,没有风险,也不需要一个一个地手动编辑(因为我的网站有超过1000个模板文件,我无法重写一个接一个)另一方面,我想换的原因是Twig在内存和CPU时间方面表现更好(参见http://fabien.potencier.org/article/34/templating-engines-in-php)smarty现在变得非常不活跃并且不是最好的模板系统......在smarty中无法使用现代框架,如symfony...等我找到了一个转换器https://github.com/freshrichard/smartytot

php - 一种在 php 中动态包含路径的方法?

我已经用这个文件和文件夹构建了一个服务器:index.php|lib->lib.php|framework->fw.php|folderA->index2.php在lib.php中有一个functionA(),里面有一个require_once,可以从index2.php正确调用“fw.php”:functionA(){require_once"../framework/fw.php";//otherstuff...}如果是从index.php中调用,则必须更改路径。我真的需要一种方法来动态包含路径,而无需在每个页面中设置特定代码。是否存在固定路径的方法?我尝试使用__FILE__,d

php - 需要一种在页面刷新后返回滚动窗口位置的方法

我正在使用PHP/ZendFramework和FacebookJavaScript编写游戏。游戏板显示在滚动窗口中。要查看整个游戏板,用户必须四处滚动。游戏的每一步都会导致页面刷新,因此当用户移动到另一步时,他们的滚动位置会丢失,窗口会返回到默认位置。我想知道是否有一种方法可以让滚动窗口自动返回到刷新页面之前的位置,这样用户就不必滚动回原来的位置了?谢谢! 最佳答案 如果您正在创建基于链接的游戏,我会使用AJAX将您的点击数据发送到您的服务器,对其进行处理,然后将其返回给用户,而无需刷新页面。这将避免您必须使用JS滚动页面,并且还可

php - Firefox 检测到服务器正在以一种永远不会完成的方式重定向对此地址的请求

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我正在尝试使用jobberland脚本开发一个求职网站。但是在连接到服务器时,在Firefox的所有页面上都显示以下错误:Firefoxhasdetectedthattheserverisredirectingtherequestforthisaddressinawaythatwillnevercomplete.你能帮我解决这个问题吗?是脚本问题还是数据库问题(正如我搜索此查询时某些网站所解释

php - 一种不同的 Web 应用程序翻译方法

我已经完成了一些支持多种语言的网站和应用程序,其中我在我的代码中使用了语言xml文件和关键字。对于我的网络应用程序,我认为这种方法很糟糕。我喜欢阅读和理解我的HTML代码。此代码没有任何意义:它一开始看起来不错,但最终却让程序员不高兴,因为添加新功能的过程现在需要一直将内容放入XML中。我的解决方案(我一个小时前刚刚写了一个简单的测试PHP解析器,你认为这适用于大型项目吗?)我使用英语作为我的基本语言,这是我的源文件的样子:{{Ilovecolors}}我的解析器将使用文本(真实文本)作为字典数组的键。在此示例中,我将美国英语翻译成英国英语。$dictionary['Ilovecolo

php - 将客户的邮政地址存储在 cookie 中是一种好的做法吗?

我正在创建一个使用访客结帐方法(无客户帐户)的电子商务页面。结帐过程的一部分将获得客户的电子邮件地址、电话号码、账单地址和送货地址。我试图避免为此使用session变量。我知道cookie不应该存储敏感信息,我也明白为什么。但是,将客户的账单和送货地址存储在cookie中被认为是好的还是坏的做法?如果有帮助,我正在使用PHP。 最佳答案 根本没有必要将该信息保存在cookie或session中。如果您想保留它,只需将它存储在数据库中并将key保存在session/隐藏字段/查询字符串中(可能不是最好的,因为它在地址栏中直接可见)。C