草庐IT

美团$方案$实践

全部标签

php - Controller 的 Symfony MVC 最佳实践

在Symfony/Doctrine/PHP项目中,客户提示我们违反了软件开发的最佳实践。投诉是关于源代码分层不当,以及缺少单元测试。这是一个不到5万美元的项目。我相信客户有一位来自Java领域的专家,也许是SpringFramework,正在查看源代码。正如我们所见,我们一直在使用适当的MVC。View逻辑完全由TWIG处理。数据库完全由Doctrine处理。我们使用SymfonySecurity进行访问控制($this->get('security.context')->isGranted('ROLE_ADMIN')和$this->get('security.context')->g

php - 使用 zend 框架创建动态侧边栏的最佳实践

使用zend框架创建动态侧边栏或其他非内容布局位置的最佳做法是什么。此时我创建了Controller女巫,我称之为WidgetsController。在这个Controller中,我为侧边栏定义了一些带有“侧边栏”响应段的操作,在IndexController中,我用$this->view->action();调用它们。功能,但我认为这不是创建动态侧边栏的最佳做法。感谢您的回答。 最佳答案 你的问题没有提供很多细节。通常,我会说通过View的渲染/部分方法将侧边栏加载为View模板。所以从View内部://$dataisdynami

php - CakePHP 最佳实践 : Admin with or without routing

我正在对我在CakePHP1.2下构建的CakePHP应用程序进行大修。我已经升级到1.3并且正在考虑放弃我的应用程序的管理路由范例。我发现我的一些Controller由于前端和管理的重复功能而变得非常大。我的直觉是,只创建一组管理Controller并将管理路由放在一起会更简洁,但我想了解其他人正在做什么以及我将错过哪些功能(如果有的话)丢弃路由。在这方面,什么是稳健的CakePHP应用(或其他MVC框架)的最佳实践? 最佳答案 我建议将前端应用程序和管理简单地分成两个单独的应用程序(/app和/admin)。只需将admin视为

php - 制作代理友好网站的指南和最佳实践

这是代理和插件开发者的问题。当涉及到特定站点时,通常的心态是“他们所做的更改破坏了我们的插件;我们更改逻辑以使其再次运行”。但是,如果对方也担心这个怎么办?如果我们想为代理友好网站的网站开发编写一套指南和最佳实践,您建议应该去做什么?想一想您必须破解的难题。您还记得那些希望网站开发人员以不同方式完成某个功能的时刻吗?怎么办?因为这与编码有关,所以我认为它不应该出现服务器故障。编辑:阅读Pekka的评论后,我觉得我应该添加更多背景信息。有一些Web代理脚本,例如glype和PHProxy。由于该脚本应处理许多未知情况,因此无法为许多站点提供服务。由于此类站点的数量太多,因此尝试使代理的内

php - htaccess 最佳实践

我想得到这个最终url:'理想网址'domain/services/city/name/来自这个网址:'真实网址'domain/page.php?s=services&c=city&a=name这在用户键入“理想”URL和从按钮单击“真实”URL时都应该起作用。我希望这也适用于domain/services/作为domain/page.php?s=services或domain/services/city/作为domain/page.php?s=services&c=city。我不是在问代码,而是要达到这个结果的最佳实践是什么。我应该只使用htaccess并为每种情况编写命令,还是我必

php - UTF-8、PHP、Win7 - 现在有解决方案可以使用 php 在 Win 7 上保存 UTF-8 文件名吗?

Update:Justtonotmakeyoureadingthroughall:PHPstartingwith7.1.0alpha2supportsUTF-8filenamesonWindows.(ThankstoAnatol-Belski!)根据stackoverflow上的一些链接链,我找到了部分答案:https://stackoverflow.com/a/10138133/3716796翁贝托·萨尔西(关于同一个问题:Artefacto的https://stackoverflow.com/a/2950046/3716796)简而言之:“PHP作为“非Unicode感知程序””与

Nacos配置中心落地与实践

一、背景目前,我们公司各团队配置中心使用各异,电商使用的是SpringCloudConfig,支付使用的是Apollo,APP团队使用的是Apollo+Nacos。为了更好地应对公司业务的发展,统一基础设施技术栈必不可少。图片来源:直播《如何做好微服务基础设施选型》–李运华此外,电商团队使用的SpringCloudConfig面临以下技术痛点:修改配置需要重启服务配置管理不友好(通过gitlab修改)缺少权限管控、格式检验、安全配置等特性二、配置中心选型开源产品分析SpringCloudConfig2014年9月开源,SpringCloud生态组件,可以和SpringCloud体系无缝整合。A

php - COMET 和 PHP 的解决方案

COMET和PHP组合是否有真正的解决方案?基本上,我已经到了需要在数据库中有新数据时定期更新用户主页的地步。据我所知,我需要在我的服务器和我的客户浏览器之间打开一个持久连接,以便在有新信息时尽快更新他们主页的内容。在不投入大量资源的情况下可用,但我没有运气找到任何关于这个问题的明确信息。我读过很多文章表明PHP不是实现COMET的好语言。我的Web应用程序完全是用PHP编程的,我不想学习另一种语言,但如果我被迫学习,你会建议一门好的语言开始吗?你认为我可以编写一个接口(interface)来处理这个问题吗?提前致谢。 最佳答案 我

PHP 安全 session 登录 - 最佳实践

作为我的网络应用程序的一部分。这是我正在考虑的一些代码(我不是最好的PHP程序员,但我为一个项目编写了自己的应用程序)://Startsessionsession_start();//Istheuseralreadyloggedin?if(isset($_SESSION['username'])){header('Location:members-only-page.php');}我想知道,如果我的登录结构是这样的,这样安全吗?http://site.com/https://site.com/login.phphttps://site.com/login-action.php(MySQ

php - Laravel/Lumen:View::share() 替代方案?

我已经使用Laravel很长时间了,现在我正在使用Lumen编写一个微型项目。我需要将一些变量传递给所有View。在Laravel中,我可以在中间件或Controller的构造函数中使用View::share()函数,但在Lumen中没有View类,它看起来像所有View功能只是View::make()的别名。有没有办法将变量共享给所有View? 最佳答案 出于性能原因,Lumen不像Laravel那样注册门面和服务提供者。虽然Laravel门面包含在Lumen中,但只有一些是别名的(View不是其中之一),并且只有当你取消注释$a