首先,让我为“又一个框架问题”道歉.但我认为这与通常的“我应该选择哪种框架?”不同.保证.

这是我的情况:在过去的一年里,我一直在使用自定义框架.它已被用于从小型CMS到大型网站甚至中型社交网络的所有内容.它运作得很好但我现在看到它的局限性.所以,我决定改用第三方框架.更简单的框架(CI,Kohana,Cake)似乎与我所听到的一样缺乏灵活性 – 所以这导致我走向ZF.但是,我也听说ZF可能过于灵活,因而难以使用.更复杂的是,我正在寻找一种通用的解决方案;我需要一个适用于大型项目的小型项目的设置.我是主要开发人员,但我需要我的合作伙伴最终能够学习系统并帮助完成不那么复杂的编程任务.

我研究过Doctrine,我喜欢它.因此,我倾向于将Symfony(与Doctrine)作为ZF的主要框架来填补空白.另外,我需要能够将自己的作品添加到此平台,与任何第三方库并行.我希望这将为我提供一个可靠,可扩展的平台,因为我们实际上无法承担每隔几个项目切换框架的费用.

我正在寻找与我现在情况相同的其他人的建议.任何建议将不胜感激.

编辑:我已经在下面发布了我的解决方案,希望在同样的情况下帮助其他人

经过一番研究后,我决定选择Symfony.以下是我的理由:

>比ZF更简洁
>由于使用了YAML文件,似乎非常可定制(但我从未感到不知所措)
>自定义类的自动加载不需要像ZF那样的额外工作(尽管在ZF中设置并不困难)
>开发人员工具栏非常棒,他们在1.3版中添加了一些不错的功能
>使用其他框架(ZF,eZComponents)的作品的能力让我有信心找到我需要的东西
>捆绑了Doctrine并且很容易设置(实际上Doctrine将成为ver 1.3中的默认ORM)
>似乎Symfony有一个更大的社区.谷歌“symfony教程”与“zend框架教程”相比,你会看到结果数量的巨大差异
>大量文档:教程(到目前为止Jobeet教程非常好),API参考,以及对框架及其基本原理的更易读的描述
>雅虎!已经将它用于他们自己的一些项目 – 很高兴看到一个Big Name支持一个框架恕我直言

编辑:为了希望在同样的情况下帮助其他人,这里有一些我不喜欢Symfony的东西:

>不遵循PEAR命名方案(ZF)
>内部类以“sf”开头.这与将类名的第一个字母大写的做法相反
>变量和函数是write_like_this,但类方法是camelCased – 这对我来说似乎很草率

这些都是化妆品问题;困扰我的事情,因为我喜欢按照自己的方式做事.我意识到无论何时使用第三方软件,您都必须愿意做出一些牺牲.

ZF当然是一个不错的框架,但我觉得使用Symfony作为主要框架并使用ZF扩展它是我和我的团队的最佳选择.

编辑

自从最初发布这个帖子已经有2年了,因为它仍然会受到点击,我想我会快速更新.在过去的两年里,我可能使用symfony 1.x构建了大约25-30个项目,我对它的表现非常满意.作为一个完整的堆栈MVC框架,与Doctrine合作,它几乎处理了我投入的所有内容.无论它无法处理,很容易添加我自己的自定义代码.事实上,这就是我最喜欢的symfony – 扩展是多么容易.我最终构建了一堆插件和Doctrine行为,大大缩短了开发时间.管理生成器工具一直是神派.我仍然在这里和那里使用symfony 1.4进行一些项目,但是现在决定主要关注使用Symfony2.它与symfony 1完全不同,但我非常欣赏它的架构.更重要的是,它似乎比symfony 1.x更容易扩展.我确实错过了1.x的一些功能,但这是切换框架时必须要做的事情.

php – 你会建议一个强大的,可扩展的开发平台的框架?的更多相关文章

  1. xcode6.1 – Xcode 6.1中项目模板中缺少类前缀

    项目模板上曾经有一个类前缀字段,这有助于区分项目类和框架类.Xcode6.1项目模板中不再提供此功能.这背后的意图是什么?

  2. ios – 伞框架

    错误.应用程序,通常位于…错误仍然存在你也可以在这里添加(子)框架的路径.

  3. ios – UIView框架大小的问题

    我正在开发一个iPad项目,目前正在使用Landscape视图.我试着这样做:为什么这总是返回960?虽然在景观中,视图本身的高度尺寸应为768对吗?

  4. 安装自定义cocoa框架的最佳方法

    我有一个自定义框架,遵循Apple的框架编程指南>>中的建议.Installingyourframework我在/Library/Frameworks中安装.我通过使用以下脚本添加RunScript构建阶段来完成此操作:在我的项目中,我然后链接/Library/Frameworks/MyFramework并将其导入我的类中,如下所示:这非常有效,除了我总是在调试器控制台中看到以下消息:Loadin

  5. ios – 在设备上构建和运行时,仅将嵌入式框架与其他动态框架链接失败

    TL;博士将您的嵌入式框架与其他框架链接,并且不将其他框架与您的应用程序链接,导致Build&在设备上运行.描述:建立:我的设置非常简单(Swift2.3&XcodeXcode8.0;Build版本8S162m):>使用Carthage(0.17.2)我用xcodebuild8.0和TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3carthagebui

  6. iOS 8嵌入式框架中的头文件

    我正在尝试创建一个用于iOS8的嵌入式框架.在创建一个名为SampleKit(BTW;这里有任何约定,我应该使用前缀吗?)之后,它包含一个令我困惑的头文件:我知道FOUNDATION_EXPORT是extern或extern“C”的宏,但我不确定这两个常量.我应该在哪里为他们设定价值?解决方法项目>构建设置>版本控制>当前项目版本:

  7. 在Monotouch上模拟.NET的框架?

    有没有人使用过他们发现与Monotouch兼容的.NET模拟框架?在尝试使用之前,我很好奇与NMock,NSubstitute,Moq和其他框架的兼容性.Xamarin刚刚加强了它的单元测试支持,但没有提到模拟框架.仅供参考,我希望在VS2010上为非UI位做很多开发,并在UI进入时移动到iOS平台.谢谢您的帮助.解决方法我建议只使用手动模拟:如果我不得不猜测RhinoMocks,Moq等大量使用Reflection.Emit(你怎么能做他们能做的疯狂?),这将无法在MonoTouch上使用AOT编译器运

  8. 在ios上使用来自框架的boost :: filesysystem路径

    我一直在使用Boost作为PeteGoodliffe脚本构建的框架已有一段时间了.效果很好.最近我遇到了一个问题,可以通过将以下代码放入另一个全新的XCode项目中的视图控制器的viewDidLoad中来重现:当路径对象被销毁时会导致EXC_BAD_ACCESS.有没有其他人遇到这个问题?

  9. ios – 在约束依赖于框架的自定义视图中使用自动布局

    我正在编写一个以编程方式初始化的自定义视图.我重写updateConstraints以添加此视图所需的所有约束.:问题是self.bounds返回CGRectZero的等价物.我做了我的研究并根据这个objc.ioarticle,这是预期的,因为在调用layoutSubviews之前框架不会被设置.它也提到了Toforcethesystemtoupdatethelayoutofaviewtreei

  10. ios – “禁用模块时使用’@import’”错误 – 启用模块和链接框架= YES

    我有一个使用CocoaPods并使用’SCLAlertView-Objective-C’窗格的项目.该pod使用@importUIKit;模块样式导入.我在目标和项目设置中将“启用模块(C&Objective-C)”和“自动链接框架”设置为YES.当模块被禁用时,我仍然得到“使用’@import’错误.有没有什么可以阻止Xcode能够启用模块,如使用.pch文件,任何链接器标志,或者我没有提到的任

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部