草庐IT

php - Laravel 5.2 View Composer 被多次执行

我在我正在处理的项目中遇到了一些(主要的)性能问题,在记录了所有执行的查询之后,我意识到其中许多被执行了多次,我无法找到问题的根源。所有多次执行的查询都在我的Viewcomposerprovider中。这是我的ViewComposer的样子:publicfunctionboot(){view()->composer('partials.sidebar',function($view){$currentCategory=$this->getCurrentCategory();$sidebarCategories=SidebarCategory::category($currentCate

php - PSR-2 是否需要垂直对齐?

这两者之间允许什么:$value='value';$user='John';$timestamp=1480927909;$day=date('Y-m-d',$timestamp);或$value='value';$user='John';$timestamp=1480927909;$day=date('Y-m-d',$timestamp); 最佳答案 PSR-2没有针对这种行间对齐的具体规则:来自PSR-2Conclusion:Therearemanyelementsofstyleandpracticeintentionallyom

php - Web 应用部署最佳实践 : how to manage local & live files?

我正在编写phpweb应用程序,并通过FTP简单地部署它们。为了让它工作,我经常需要进行一些调整/调试,因为我无法控制托管我的(免费)网络服务器,所以在我的本地环境中工作的东西可能无法实时工作。例如,我保留了一个单独的php文件,其中包含class_db_myapp.php,它使用特定的数据库参数扩展了class_db.php:数据库名称、用户名、密码,它们在本地和实时都不同。(供引用:最近我开始使用git进行版本控制)随着我的应用程序的发展,一些文件被重命名/删除/创建。当需要上传新版本时,我要么依靠我的内存来知道我必须上传/删除什么,要么干脆删除所有/上传所有。但在第二种情况下,我

php - 用 mod_rewrite 或像 PHP 这样的语言处理友好/干净/漂亮的 URL 更好吗?

我正在开发我的第一个体面大小的PHP站点,我对在应用程序中处理干净/友好/漂亮的URL的“正确方法”(假设有这样的事情)有点困惑。在我看来,有两个主要选项(我将使用简化的社交新闻网站作为示例):1.使用mod_rewrite处理所有潜在的URL。这看起来与以下内容相似,但不完全相同:RewriteRule^article/?([^/]*)/?([^/]*)/?([^/]*)/content/articles.php?articleid=$1&slug=$2RewriteRule^users/?([^/]*)/?([^/]*)/content/users.php?userid=$1&us

php - PHP 实际上是如何工作的?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。是否有一些指南描述了PHP的内部结构?如何加载文件(必需、包含)?它们是如何解析和执行的?内存是如何分配的?对象是如何创建/销毁的?如何加载外部模块?堆栈/堆如何工作?操作码缓存实际上是如何工作的?常见的技巧和性能提示?

php - Demeter 法则非常令人困惑,因为看起来我永远无法编写返回对象的方法

感觉好像走到了死胡同。如果我理解正确,那么如果我遵循LawofDemeter我永远无法制作一个返回对象的方法,然后客户端代码调用它。我只是在考虑总是返回一个对象的工厂模式。是的,有返回对象的映射器类。那么集合呢? 最佳答案 你误解了LawofDemeter并将其应用到有用的地方:Moreformally,theLawofDemeterforfunctionsrequiresthatamethodMofanobjectOmayonlyinvokethemethodsofthefollowingkindsofobjects:Oitsel

即使具有广泛开放的权限,PHP fopen() 也会在文件上失败

我目前正在将我的LAMP从我的Windows服务器迁移到运行Debian6的VPS。大多数情况下一切正常,但是,其中一个PHP脚本无法写入其配置的日志文件。我无法确定原因,所以我编写了一个新的、简单的、人为设计的PHP脚本来测试这个问题。然而,它失败了,结果是:www-dataWarning:fopen(/var/log/apache2/writetest/writetest.log):failedtoopenstream:Permissiondeniedin/var/www/_admin/phpwritetest.phponline5虽然我通常不会这样做,但为了帮助诊断,我将/var

PHP 最佳设计实践

好的,有一堆我这几天​​一直在想的问题。目前我有一个站点,它只是一堆PHP文件,MySQL语句与PHP、HTML和CSS混合在一起,基本上是一团糟。我的任务是清理网站并为自己制定了以下要求:网站需要高效且布局合理(源代码),我希望能够编写尽可能少的代码。结构、表示和逻辑之间必须有很好的分离。无论出于何种原因,我无法使用框架并且需要保持代码的可维护性和“简单性”,因为将来会有开发人员使用它。至少需要有几个页面的管理部分。话虽如此,这就是我目前对该网站的了解:由10-12个页面组成,有一些是完全静态的,大部分是通过数据库动态驱动的,并且有一个巨大的表单供用户填写(20-30个字段)需要验证

php - 你如何为 LAMP 项目实现 "one step build"?

拥有“一键式构建”将您的更改从开发环境转移到实时服务器是一件非常好的事情,并且经常被提倡。我加入了一个在LAMP堆栈中运行并使用SVN进行版本控制的小团队,目前部署在单个生产服务器上(另一台用于开发的服务器,很快将成为单独的mysql服务器)。我刚刚开始实现许多在我上任之前遗漏的组织工作。我很想看看人们目前是如何做到这一点的(一步构建)了解如何最适合我的情况(小团队,带SVN的LAMP环境)我感兴趣的一些特殊挑战是处理数据库更改(模式),以及人们是否使用以及使用何种“包”来使事情井井有条(例如RPM、PEAR等)。 最佳答案 我们使

php - Symfony 2 性能优化

我们正在寻找将来可以使用的PHP框架,目前正在使用Symfony2进行测试。为此,我们重新设计了API并将其作为一个包在Symfony中实现。事实证明,Symfony似乎非常慢-实际上比我们旧的(甚至不是精心设计的)系统慢远。我们尝试通过缓存字节码来优化性能(为此使用APC)。虽然我们注意到性能有了巨大改进(之前:加载API大约需要3秒;之后:平均0.6秒(仍然比我们没有APC的旧系统慢0.5秒),但我们'我们有点兴奋-但仍然对从几乎空的数据库中获取一个结果这样简单的任务的高加载时间感到不满意。我不知道,但我可以想象这是由于Symfony自动加载所有类,即使特定包不需要时也是如此。现在