【问题标题】:Am I approaching my symfony project correctly?我是否正确地处理了我的 symfony 项目?
【发布时间】:2011-08-13 01:49:10
【问题描述】:

几个月来,我一直在反复研究我的开发方法 一个我工作需要的项目,最终会让我赚很多钱 由于销售效率的提高。我一直在尝试构建一个 php CRM 一旦我建立了一些,我将需要用于客户管理 基本功能,所以我可以摆脱在记事本++中存储笔记 在多个标签中(非常难看,但我是现金支票和卡扣脖子)。
我潜入 CodeIgniter 并在开发接口时遇到了头疼的问题 jQuery ui 选项卡后来决定(这是 2.0 之前的版本)我应该转移到另一个框架,现在让我潜入 Symfony。
我的第一个问题是,即使我的整个应用程序将位于一个页面上并且由 jquery 元素(如标签等没有页面重新加载)组成,我是否真的需要 mvc 或 mvc 框架?
我的第二个问题是,我是否通过使用 ORM 来过度复杂化事情?当您编辑架构(教义)时,我并不完全理解迁移的必要性。需要有关如何解决此问题的建议,因为高级编码员似乎可以在一小时内完成,因为我花了几个月的时间进行研究。提前致谢

编辑 有人可以谈谈在学说和迁移中添加字段吗?迁移总是必要的吗?如果我没有更改现有结构并且我只是添加新表或可选字段,我是否需要跳过箍来更改我的生产环境,或者这是否不那么危险?现在,这是阻碍我尝试在 Symfony 中编写任何东西的主要因素。

编辑#2* 坚持使用 Symfony/学说。我从来没有花时间来模拟带有 Inkscape 的界面,或者把整个数据库模式完全绘制出来。几乎可以开始挖掘了。

【问题讨论】:

    标签: model-view-controller orm symfony1 doctrine propel


    【解决方案1】:

    有点含糊,但我看看能不能解决你的几点问题。

    我应该担心 MVC 吗?

    不,如果您只是快速将某些东西放在一起,这可能并不那么重要。这种模式更适合大型项目,并使所有代码和接口等尽可能分开,以使维护和错误修复更容易。意见会有所不同,但我建议在这种情况下首先获得一些基本的东西。

    我是不是因为担心 ORM 而使事情复杂化了

    是的,可能。这取决于您是否可以比正确理解 SQL 或数据库本身使用的任何内容更快地围绕它进行思考。恐怕我对教义一无所知。

    基本的入门建议?

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

    【讨论】:

    • MVC:学习 MVC 不是问题(只是为了澄清)。我绝对喜欢这种结构,但我很好奇对于一个专门设计为整天运行而无需重新加载页面的应用程序来说,这是否有点过头了。在这种情况下,我应该在控制器之间进行划分吗? ORM:据我了解,ORM 的想法似乎非常有用,但添加字段似乎过于复杂。
    • 一个设计良好的 ORM 系统可以让您像使用主要语言的任何对象一样添加字段。只有您才能真正决定 MVC 是否适合您的项目。
    【解决方案2】:

    你至少应该尝试使用它,因为你“喜欢这个结构”。即使您的页面不需要重新加载,您也可能需要通过 ajax 重新加载数据。 Symfony 与 jQuery 的 ajax 搭配起来简单直接。

    【讨论】:

    • 谢谢,这就是我的想法,而且我很确定将来我会想使用 Symfony(或其他框架),所以我现在想开始习惯它。我质疑此应用程序中是否需要框架的原因是因为我希望有人可以建立/确认路由功能/控制器与我将整天加载进出选项卡的数据之间的连接。有点好奇是否尝试强制使用是可能的还是浪费时间。
    【解决方案3】:

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

    然后在客户端你可以使用 Backbone.js 或 JavascriptMVC 之类的东西来组织你的 JS 代码,如果它可能变成一个大的单页 JS 应用程序。

    教义迁移 您不需要使用此功能 - 您可以简单地编写一个 SQL 查询,将您需要的表/列添加到您的数据库并在您的生产数据库上执行它。

    【讨论】:

    • 我最近偶然发现了 Knockout.js,这是我再次开始关注这个项目的原因之一(除了一些其他原因)。
    • Angular (angularjs.org) 与 KnockoutJS 相同,也值得一看
    • 太棒了,谢谢,我一定会检查出来的。如果可能的话,绝对想在我输入时使用其中之一在我的数据库中自动保存笔记,这样我就不必担心在崩溃中丢失东西。 Notepad++ 曾多次对我说脏话,可能在某些情况下会丢失订单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多