|
|
1
3
Symfony在PHP框架方面做了一些非常独特的事情。
我想这些功能中的一些已经在其他地方使用了,但是我 认为 在PHP中,它们是独一无二的。 |
|
|
2
2
极简主义 Sinatra . 您只能在一个文件中编写整个web应用程序。(显然,这不适用于大型应用程序,但对于快速原型、小型网站和web服务来说,将所有内容都放在一个地方是很好的。) |
|
|
3
2
Grails http://www.cjsdn.net/JVM/Grails/Docs/1.1/img/grails.png GORM-我还没有见过另一个框架有如此强大的ORM,但这么容易使用。 |
|
|
4
2
|
|
|
5
1
您应该知道如何在Django中编写自定义模板标记。例如,下面的标记允许我在模板中JSonifDjango变量。
这是很有用的,因为我的网站都是Javascript,所以我使用Django模板来制作网站的无脚本版本。这是最有用的,所以谷歌可以抓取我的网站。例如,在打开和关闭Javascript的情况下查看以下页面: http://www.trailbehind.com/Yosemite%20National%20Park/ 我还有一些其他有用的标签:
Python的decorator语法不是让这些代码变得简短而甜美吗? |
|
|
6
1
Seaside不必费心处理关系数据库(SansteneDB、Magma或Gemstone),它允许使用某些方法编写OO代码而不是数据库代码。 |
|
|
7
1
Smalltalk中的Seaside支持重构和无目的编程。基于组件且无模板意味着您可以避免大量重复。 |
|
|
8
1
Spring Web Flow -序列化对话/出色的浏览器后退按钮支持
SWF通过在每次呈现视图时创建整个会话状态的快照来解决此问题。大多数有状态数据都存储在SWF的一个附加作用域(会话、流、视图)中,并因此与会话快照一起序列化。 SWF的URL不能识别像页面或操作这样的资源。相反,它们识别一个流程和一个对话。由于SWF隐式地实现了POST-REDIRECT-GET,因此每次呈现页面时,URL都包含flowExecutionId,它唯一地标识会话和序列化的会话快照。因此,当用户使用浏览器后退按钮或历史记录时,每个URL实际上会在该时间点恢复整个对话状态。 这导致了理想的后退按钮处理:客户端状态永远不会与会话状态不同步,用户可以自由地从以前的任何状态继续。 当用户执行某些操作时,开发人员还可以放弃或使历史记录(保存的快照)无效。这对于修改数据库中某些内容的用户操作是很好的,因为用户不应该能够返回到不代表数据库中的内容的状态。
然而,一个主要限制是,放置在会话、流或视图范围中的任何属性都必须是可序列化的。 |
|
|
9
1
Spring Web Flow -流和视图范围 大多数web应用程序都满足于使用Servlet定义的请求、会话和上下文范围。然而,web应用程序中使用的许多有状态数据并不完全适合这些范围。通常,此类数据的持续时间比单个请求长,但比会话短。在这种情况下,通常使用会话范围。这迫使开发人员从本质上执行手动内存管理,将内容放入会话范围,然后在应用程序的该部分不再需要它们时显式删除它们。这可能会很麻烦,因为通常有多个地方必须删除属性,因为用户通常可以调用多个操作来将它们从需要属性的用例中移除。 在大型或不断增长的应用程序中,属性清理代码成为贯穿整个代码的必要且普遍的混乱。忘记清理属性,或者错误地清理错误的属性,可能会引入错误。 SWF通过提供一些更适合应用程序属性生命周期的附加作用域来解决这个问题。 SWF引入了流的概念,流是可重用的模块化行为分组,表示为由状态和状态之间的转换组成的状态机。流可能包括用于调用服务器端行为的操作状态、用于向用户呈现页面的视图状态等。流通常表示用例。流范围的属性在流的持续时间内保持不变,并在流结束时自动清除。这将导致属性只在用例需要时持续存在。
|
|
|
10
1
CakePHP的显著特点:
总结:很多人认为Cake是PHP的,就像Rails是Ruby的一样。 |
|
|
11
0
希望能有帮助。 |
|
|
12
0
|
|
|
13
0
Icefaces 具有强大的可扩展ajax推送框架 |
|
|
A. Shawkat · 获取请求不起作用 8 年前 |
|
|
Yura · 无法链接引导。min.css和动态web app 8 年前 |
|
|
jasonharper · 无互联网连接的WiFi连接设备的最佳实践 8 年前 |
|
|
Thanh Dong · 在spring boot web应用程序中运行jar文件时,创建名为“ConfigurationPropertiesBindingPostProcessor”的bean时出错 8 年前 |
|
|
Karim Sawma · react web app中缺少滚动条 8 年前 |
|
|
Nathan · Flask API回调侦听器 8 年前 |
|
|
David Artmann · Vaadin网格日期渲染器不适用 8 年前 |
|
|
Hayden · 如何防止计数器的增量超过元素的高度? 8 年前 |