【问题标题】:Do you need a good background in OOP before moving to frameworks?在转向框架之前,您是否需要良好的 OOP 背景?
【发布时间】:2011-02-26 00:53:53
【问题描述】:

框架都是OOP,如果没有扎实的OOP背景就进入框架不是明智之举吗?我可以编写基本的类,但没有什么太花哨或抽象的。

在转向框架之前,我应该对 OOP 了解多少?

现在我是PHP Object-Oriented Programming来学习OOP。

编辑:一旦开始使用 OOP 进行编程,是否需要回到程序化?或者是面向对象的方式,因为它更有条理和更可重用。 (显然,如果网站很小,程序就可以了)

【问题讨论】:

    标签: php oop frameworks


    【解决方案1】:

    OOP 知识对任何程序员都非常有用。如果您具有 OOP 的基本知识,那么请继续学习框架。您将在此过程中理解 OOP 概念。当我开始使用框架时,我对 OOP 有基本的想法。随着我在框架方面取得进展,我在实践中更加理解了 OOP 概念......

    【讨论】:

      【解决方案2】:

      对自己的工作有深入的了解总是好的。所以是的,我认为要成为一名优秀的程序员,您应该深入了解 OOP 的工作原理,以便了解如何扩展类等。

      在某些时候,尽管您会了解足够多的知识来开始使用您的框架。所以一旦你读了几章,就开始使用选择的框架,任何时候你看到一些你不理解的东西,研究它并重复。

      编辑:回答您有关程序的更新问题。

      首先要了解 PHP,OO 非常有用,但不要盲目创建 OO 代码。了解您为什么这样做,并知道何时不需要使用它。例如(大多数程序员并没有真正遇到这个问题)当你达到大规模时,你可能需要推迟一些 OO 代码以使其运行得更快。 OO 是一个开销,但它是一个非常有用的开销。

      【讨论】:

      • 好吧,在转向框架之前,我将在所有 OOP 中构建几个“测试”站点。
      • 如果您可以尝试为小型测试项目构建自己的非常基本的框架,那总是很好的。这样做你会学到很多东西。
      • 构建自己的框架到底是什么意思?这是否意味着我应该创建处理管道代码的函数/类,然后专注于网站的逻辑?
      • 是的,为自己构建一个非常小的框架来处理路由,使用模型、视图和控制器进行模板化。尝试编写实现此目标所需的基本管道。您可以使用 smarty 之类的库,也可以使用一些 PEAR 或 ZEND 类。它比其他任何东西都更具教育意义,但如果你有一个小项目,它值得去做。从长远来看,我会说不要重新发明轮子,而是转向一个成熟的框架来完成一个更大的项目。在某些情况下,当您变得更有经验时,最好创建自己的成熟框架,而不是使用现成的框架
      【解决方案3】:

      面向对象编程的要点之一是,当您构建代码时,您将松散的上下文应用于您的实现,例如迭代。

      一个简单的迭代例子是数据库抽象,当你有你的数据库语句对象时,如果你实现了那个实体的迭代接口,那么你就有一个可以迭代的对象..

      相同的概念是框架等的主要因素。所以在我看来,如果你创建了一个框架,那么对 OOP 有很好的了解是非常重要的。

      框架的整个概念是简化编程结构,主要的实现方式是使用 OOP。

      【讨论】:

        【解决方案4】:

        这取决于您将使用的 PHP 框架 - 如果您计划使用 Zend Framework 或 Symfony,那么了解 OOP 肯定会有所帮助。还有许多其他 PHP 框架不是面向对象的,但是...

        【讨论】:

          【解决方案5】:

          我认为在转向框架之前至少对 OOP 有一个基本的了解是非常明智的。最重要的是,尽管我认为了解 PHP 的基础知识非常重要。我见过一些程序员将自己描述为 Zend 框架的高级用户(例如),但在不使用框架时确实与旧式程序代码作斗争并且不理解基本的安全概念。鉴于我们大多数人在日常编程生活中必须处理大量遗留代码,因此了解基础知识至关重要。

          【讨论】:

            【解决方案6】:

            是的,强烈建议您在进入任何现成的框架之前了解 OOP 概念的构建块。我的许多朋友开始他们的职业生涯是在一个框架中(如果它是专有的则更糟),现在显然正在努力吸收面向对象编程的核心概念。

            但是,没有什么能阻止您通过参与此类在线社区和其他许多在线社区来共同学习这些概念。您也可以阅读有关设计模式和面向对象编程的书籍。

            【讨论】:

              猜你喜欢
              • 2011-12-05
              • 1970-01-01
              • 2020-05-18
              • 1970-01-01
              • 2013-01-06
              • 1970-01-01
              • 2018-06-09
              • 1970-01-01
              相关资源
              最近更新 更多