Model view controller 我的symfony项目是否正确?

Model view controller 我的symfony项目是否正确?,model-view-controller,orm,symfony1,doctrine,propel,Model View Controller,Orm,Symfony1,Doctrine,Propel,几个月来,我一直在反复讨论我的开发方法 一个我工作所需要的项目,最终会让我赚很多钱 由于销售效率的提高。我一直在尝试构建一个php CRM 一旦我建立了一些 将基本功能融入其中,这样我就可以不用在记事本中存储笔记了++ 多个标签非常难看,但我正在兑现支票和按扣脖子。 我沉迷于CodeIgniter&在开发与的接口时遇到了麻烦 jQueryUITabs后来决定这是2.0之前的版本,我应该转移到另一个框架中,现在我正潜入Symfony。 我的第一个问题是,我真的需要一个mvc或mvc框架吗?即使我的

几个月来,我一直在反复讨论我的开发方法 一个我工作所需要的项目,最终会让我赚很多钱 由于销售效率的提高。我一直在尝试构建一个php CRM 一旦我建立了一些 将基本功能融入其中,这样我就可以不用在记事本中存储笔记了++ 多个标签非常难看,但我正在兑现支票和按扣脖子。 我沉迷于CodeIgniter&在开发与的接口时遇到了麻烦 jQueryUITabs后来决定这是2.0之前的版本,我应该转移到另一个框架中,现在我正潜入Symfony。 我的第一个问题是,我真的需要一个mvc或mvc框架吗?即使我的整个应用程序都在一个页面上&由jquery元素组成,比如选项卡,而不需要重新加载页面? 我的第二个问题是,通过使用ORM,我是否过度复杂了?当您编辑模式博士时,我不完全理解迁移的必要性。我需要关于如何处理这个问题的建议,因为这似乎是一个高级程序员在一个小时内就能完成的事情,而我花了几个月的时间进行研究。提前谢谢

编辑 有人能谈谈给条令和迁移添加字段吗?迁移总是必要的吗?如果我没有改变现有的结构&我只是添加了新的表或可选字段,那么我是否需要跳转来改变我的生产环境,或者这样做危险性更小?现在这是阻止我尝试用Symfony写任何东西的主要原因

编辑2*
与Symfony/学说一起粘住。我从来没有花时间模拟带有Inkscape的接口,也没有完全绘制出整个数据库模式。几乎准备好开始挖掘了。

有点含糊不清,但我会看看是否能解决您的几个问题

我应该担心MVC吗

不,如果你只是快速地把东西拼凑起来,这可能没那么重要。这种模式更适合大型项目,使所有代码和接口等尽可能分离,以便于维护和bug修复。意见会有所不同,但我建议先做一些基本的工作

我担心ORM会使事情变得过于复杂吗

是的,可能。这取决于您是否能够比正确理解SQL或您的数据库本机使用的任何东西更快地对其进行思考。恐怕我对教义一无所知

基本的起步建议


从您可以构建的最简单的东西开始,然后添加一个东西并简化/移动/删除代码,以便更轻松地添加更多东西。重复,直到你满意为止。只考虑更大的变化,比如MVC框架,如果你相信它们会让你的生活更轻松,也许以后会有一个项目的规模。

< P>你至少应该尝试使用它,因为你喜欢这个结构。即使页面不需要重新加载,也可能需要通过ajax重新加载数据。Symfony与jQuery的ajax结合起来简单明了

如果它将主要是一个Javascript应用程序,您可能不需要像Symfony这样的大型框架,但您可以将Silex作为一个更轻量级的替代方案。它基于一些Symfony组件。某种框架将有助于组织Ajax请求处理程序

然后在客户端,如果js代码可能会变成一个大的单页js应用程序,那么您可以使用Backbone.js或JavascriptMVC来组织js代码

信条迁移
您不需要使用此功能—只需编写一个SQL查询,将所需的表/列添加到数据库中,并在生产数据库上执行即可。

MVC:学习MVC并不仅仅是为了澄清问题。我当然喜欢这种结构,但我很好奇,对于一个专门设计成天运行而不需要重新加载页面的应用程序来说,这种结构是否有点过分。在这种情况下,我应该在控制器之间进行划分吗?ORM:据我所知,ORM的想法似乎非常有用,但似乎添加字段过于复杂。设计良好的ORM系统将允许您添加字段,就像添加主语言中的任何对象一样。只有你才能真正决定MVC是否适合你的项目。谢谢,这是我的想法,而且我很确定我将来会使用Symfony或其他疯狂的作品,所以我现在就想开始习惯它。我之所以质疑这个应用程序是否需要框架,是因为我希望有人能建立/确认路由功能/控制器之间的连接,以及我将整天从选项卡中加载的数据。我有点好奇,试图强制使用是可能的还是浪费时间。我最近偶然发现了Knockout.js,这也是我开始再次关注这个项目的原因之一,除了几个ot之外
她的理由。Angular和KnockoutJS的风格一样,也值得一看。太棒了,谢谢,我一定会去看看的。如果可能的话,我肯定想在我打字的时候用其中一个在我的数据库中自动保存笔记,这样我就不用担心在崩溃时丢失东西了。记事本++已经在我身上浪费了好几次,可能在几起案件中失去订单。