对于强大,可扩展的开发平台,您会建议什么框架? [英] What framework(s) would you suggest for a strong, extensible dev platform?
问题描述
首先,让我为另一个框架问题道歉.但是我认为这与通常的我应该选择什么框架"足够不同.保证.
First, let me apologize for Yet Another Framework Question. But I think this is different enough from the usual "What framework should I choose?" to warrant it.
这是我的情况:在过去的一年中,我一直在使用自定义框架.从小型CMS到大型网站,甚至是中型社交网络,它都已被使用.它的工作很棒,但我现在看到了它的局限性.因此,我决定切换到第3方框架.从我所听到的内容来看,较简单的框架(CI,Kohana,Cake)似乎过于僵化-因此这导致我转向ZF.但是,我也听说ZF可能太灵活了,因此很难使用.使这个问题进一步复杂化的是,我正在寻找一种一刀切"的解决方案.我需要一个适用于小型项目到大型项目的安装程序.我是主要的开发人员,但我需要我的合作伙伴最终能够学习系统并为较简单的编程任务提供帮助.
Here's my situation: For the past year I've been using a custom framework. It's been used on everything from small CMS's to larger sites and even a mid sized social network. It's worked great but I now see its limitations. So, I've decided to switch to a 3rd party framework. The simpler frameworks (CI, Kohana, Cake) seem too inflexible from what I've heard - so this led me towards ZF. But, I've also heard that ZF may be too flexible and thus hard to work with. What further complicates this is that I'm looking for a one-size-fits-all solution; I need a setup that works on small projects to very large projects. I am the main developer, but I need my partner to eventually be able to learn the system and help with the less complicated programming tasks.
我已经研究了主义,而且我喜欢它.因此,我倾向于将Symfony(使用Doctrine)作为ZF的主要框架来填补空白.另外,我需要能够将自己的作品添加到该平台,并与任何第三方库都平行.我希望这将为我提供一个坚实的,可扩展的平台,因为我们实在负担不起每隔几个项目换掉框架.
I've researched Doctrine and I love it. So I'm leaning towards Symfony (with Doctrine) as the main framework with ZF to fill in the gaps. Plus, I need the ability to add my own pieces to this platform parallel to any 3rd party libraries. I hope this will provide me with a solid, extensible platform, as we really can't afford to be switching out frameworks every few projects.
我正在寻找其他与我现在处境相同的人的建议.任何建议将不胜感激.
I'm looking for advice from others who have been in the same situation as I am in now. Any advice would be greatly appreciated.
我已经在下面发布了我的解决方案,希望可以帮助处于相同情况的其他人
推荐答案
经过研究,我决定选择Symfony.这是我的原因:
After some research I've decided to go with Symfony. Here are my reasons:
- 比ZF冗长
- 由于使用了YAML文件,因此似乎非常可定制(但我从未感到过不满意)
- 自定义类的自动加载不需要ZF中的任何额外工作(尽管在ZF中设置起来并不困难)
- 开发人员工具栏很棒,他们在1.3版中为其添加了一些不错的功能
- 能够使用其他框架(ZF,eZComponents)中的零件的能力使我充满信心,我将不会遇到困难,找到所需的东西
- 与Doctrine捆绑在一起,并且非常容易设置(实际上,Doctrine将成为1.3版中的默认ORM)
- Symfony似乎有一个更大的社区. Google的"symfony教程"与"zend框架的教程",结果的数量会有很大的不同
- 大量文档:教程(到目前为止,Jobeet教程非常好),API参考以及对框架及其基本原理的更便于阅读的描述
- 雅虎!已将其用于一些自己的项目-很高兴看到Big Name返回框架IMHO
- Less verbose than ZF
- Seems very customizable due to usage of YAML files (yet I never feel overwhelmed by them)
- Autoloading of custom classes doesn't require any extra work like in ZF (albeit it's not hard to set up in ZF)
- The developer toolbar is great, and they're adding some nice features to it in ver 1.3
- The ability to use pieces from other frameworks (ZF, eZComponents) makes me feel confident that I won't have trouble finding what I need
- Comes bundled with Doctrine and is very easy to set up (in fact Doctrine will become the default ORM in ver 1.3)
- It seems like there's a much larger community for Symfony. Google "symfony tutorials" versus "zend framework tutorials" and you'll see a massive difference in the number of results
- Plenty of documentation: tutorials (the Jobeet tutorial so far is very good), API references, and a more human readable description of the framework and its underlying principles
- Yahoo! has used it for a few of their own projects - it's nice to see a Big Name back a framework IMHO
为了希望在相同情况下帮助他人,以下是我不喜欢Symfony的一些事情:
For the sake of hopefully helping others in the same situation, here are some things I don't like about Symfony:
- 不遵循PEAR命名方案(ZF遵循)
- 内部类以"sf"开头.这与将班级名称的首字母大写的做法相反
- 变量和函数都写成like_this_,但是类方法是驼峰式的-对我来说这似乎很草率
- Does not follow the PEAR naming scheme (ZF does)
- Internal classes begin with "sf". This is contrary to the practice of capitalizing the first letter of the class name
- Variables and functions are written_like_this, yet class methods are camelCased - this seems sloppy to me
这些都是化妆品问题;令我困扰的事情,因为我喜欢以自己的方式做事.我意识到,无论何时使用第三方软件,您都必须愿意做出一些牺牲.
These are all cosmetic issues though; things that bother me because I like to do things my way. I realize that whenever you use third party software you must be willing to make some sacrifices.
ZF当然是一个不错的框架,但是我觉得使用Symfony作为主要框架,并用ZF扩展它是我和我的团队的最佳选择.
ZF is certainly a nice framework, but I feel using Symfony as the primary framework and extending it with pieces of ZF is the best choice for me and my team.
编辑
从最初发布此消息到现在已经2年了,由于它仍然很受欢迎,我想我要进行快速更新.在过去的两年中,我大概使用symfony 1.x构建了大约25-30个项目,我对它的表现感到非常满意.作为与Doctrine合作的全栈MVC框架,它几乎可以处理我投入的所有内容.不管无法处理什么,添加我自己的自定义代码都很容易.实际上,这就是我最喜欢symfony的地方-扩展起来很容易.我最终构建了许多插件和Doctrine行为,极大地减少了开发时间.管理员生成器工具真是太好了.我仍然在这里和那里的一些项目中使用symfony 1.4,但是决定现在主要集中精力使用Symfony2.它是与symfony 1完全不同的野兽,但我真的很欣赏它的体系结构.更重要的是,它似乎比symfony 1.x更容易扩展.我确实想念1.x的某些功能,但这就是切换框架时必须要做的牺牲.
It's been 2 years since originally posting this, and since it's still getting hits I thought I'd give a quick update. I probably built about 25 - 30 projects using symfony 1.x in the last 2 years, and I'm very happy with how it performed. As a full stack MVC framework, partnered with Doctrine, it handled almost everything I threw at it. And whatever it couldn't handle, it was easy to add my own custom code. In fact, that's what I love most about symfony - how easy it is to extend. I ended up building a bunch of plugins and Doctrine behaviors that greatly reduced development time. And the admin generator tools have been a god-send. I'm still using symfony 1.4 for a few projects here and there, but have decided to mainly focus now on using Symfony2. It's a completely different beast than symfony 1, but I really appreciate its architecture. More importantly, it seems even easier to extend than symfony 1.x. I do miss some of 1.x's features, but that's the sacrafice you have to make when switching frameworks.
这篇关于对于强大,可扩展的开发平台,您会建议什么框架?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!