如何提高Zend Framework的学习速度?

时间:2009-03-21 17:29:49

标签: zend-framework prototype

序言: 我一直在使用PHP超过8年,但从未使用过框架,只编写脚本和插件。 大多数情况下,我使用CodeCharge Studio等代码生成器或Intranet应用程序的自定义代码。 由于我对设计模式没有问题, Zend框架对我来说看起来并不太难。

从ZF开始:我已经阅读了QuickStart手册,并想知道什么可以促使我快速使用基本的Zend Web应用程序开发。据我所知,重复任务需要花费大量时间。

问题: 例如,对于我开发的几乎每个站点,都必须有用户注册过程,我不想重新发明轮子并花一周时间登录/配置文件表单。

1)Zend开发人员是否使用您编写的某种原型来快速推出基本网站?

2)或者是否有一些网站源代码可以建立?

3)是否有一些应用程序生成器或次要工具用于包含网格,记录等的页面?

P.S。我在6年前停止学习EJB,因为我没有人问过类似的问题。 TIA!

9 个答案:

答案 0 :(得分:20)

  

1)ZF开发人员是否使用了一些   那种原型   快速推出一个基本网站?

Zend Framework对于该领域的组件来说还有点年轻,但有an unofficial PEAR channel。截至2009年3月,思想领袖似乎仍在辩论组织一切的最佳方式。我个人对domain-driven initiatives最为兴奋,因为它们将是最强大的。

  

2)是否有一些网站源代码   建立在可用之上?

目前最好的消息来源是ZF思想领袖的博客,网站和知识库。这里有一些链接可以帮助您入门:

  

3)是否有一些应用程序生成器或   带网格的页面的小工具,   记录等?

在ZF v1.8中有一个scaffolding-generator as a part of Zend_Tool版本。它目前在孵化器中,我上周尝试了它并且它可以工作,但是在当前状态下生成的组件不多。

上周我终于抽出时间一起收集资源(其中包括Stack Overflow ZF问题供稿)。我把它们放在Zend Framework tag in Google Reader之下,随着时间的推移会改进饲料来源。如果你宁愿自己管理它们,这是当前的OPML。

祝你好运! -Matt

<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
    <head>
        <title>expertseries | Zend Framework | Google Reader</title>
    </head>
    <body>
        <outline title="Zend Framework" text="Zend Framework">
            <outline text="A.J. Brown" title="A.J. Brown" type="rss"
                xmlUrl="http://feeds.feedburner.com/ajbrowns_blog" htmlUrl="http://ajbrown.org/blog"/>
            <outline text="Armando Padilla" title="Armando Padilla"
                type="rss" xmlUrl="http://www.armando.ws/?feed=rss2" htmlUrl="http://www.armando.ws"/>
            <outline text="Benjamin Eberlei" title="Benjamin Eberlei"
                type="rss"
                xmlUrl="http://www.whitewashing.de/about/rss/all" htmlUrl="http://www.whitewashing.de"/>
            <outline text="Bradley Holt" title="Bradley Holt" type="rss"
                xmlUrl="http://bradley-holt.blogspot.com/feeds/posts/default" htmlUrl="http://bradley-holt.blogspot.com/"/>
            <outline text="Cal Evans" title="Cal Evans" type="rss"
                xmlUrl="http://blog.calevans.com/feed/" htmlUrl="http://blog.calevans.com"/>
            <outline text="Chris Hope" title="Chris Hope" type="rss"
                xmlUrl="http://feedproxy.google.com/ElectricToolboxBlog" htmlUrl="http://www.electrictoolbox.com"/>
            <outline text="Codecaine.co.za" title="Codecaine.co.za"
                type="rss" xmlUrl="http://www.codecaine.co.za/rss/" htmlUrl="http://www.codecaine.co.za/"/>
            <outline text="Douglas Brown" title="Douglas Brown"
                type="rss" xmlUrl="http://www.brownphp.com/feed/" htmlUrl="http://www.brownphp.com"/>
            <outline text="Federico Cargnelutti"
                title="Federico Cargnelutti" type="rss"
                xmlUrl="http://blog.fedecarg.com/feed/" htmlUrl="http://blog.fedecarg.com"/>
            <outline text="Jani Hartikainen" title="Jani Hartikainen"
                type="rss" xmlUrl="http://codeutopia.net/blog/feed/" htmlUrl="http://codeutopia.net/blog"/>
            <outline text="Juozas Kaziukėnas" title="Juozas Kaziukėnas"
                type="rss" xmlUrl="http://dev.juokaz.com/feed/rdf" htmlUrl="http://dev.juokaz.com"/>
            <outline text="Matthew Turland" title="Matthew Turland"
                type="rss" xmlUrl="http://ishouldbecoding.com/atom/1" htmlUrl="http://ishouldbecoding.com/"/>
            <outline text="Matthew Weier O'Phinney"
                title="Matthew Weier O'Phinney" type="rss"
                xmlUrl="http://weierophinney.net/matthew/feeds/index.rss2" htmlUrl="http://weierophinney.net/matthew/"/>
            <outline text="Michelangelo van Dam"
                title="Michelangelo van Dam" type="rss"
                xmlUrl="http://www.dragonbe.com/feeds/posts/default" htmlUrl="http://www.dragonbe.com/"/>
            <outline text="Mike Rötgers" title="Mike Rötgers" type="rss"
                xmlUrl="http://www.roetgers.org/feed/" htmlUrl="http://www.roetgers.org"/>
            <outline text="Nick Lo" title="Nick Lo" type="rss"
                xmlUrl="http://www.ingredients.com.au/nick/feed/" htmlUrl="http://www.ingredients.com.au/nick"/>
            <outline text="Pádraic Brady" title="Pádraic Brady"
                type="rss"
                xmlUrl="http://blog.astrumfutura.com/feeds/index.rss2" htmlUrl="http://blog.astrumfutura.com/"/>
            <outline text="Raphael Stolt" title="Raphael Stolt"
                type="rss"
                xmlUrl="http://raphaelstolt.blogspot.com/feeds/posts/default" htmlUrl="http://raphaelstolt.blogspot.com/"/>
            <outline text="Rob Allen" title="Rob Allen" type="rss"
                xmlUrl="http://akrabat.com/feed/" htmlUrl="http://akrabat.com"/>
            <outline text="Robert Basic" title="Robert Basic" type="rss"
                xmlUrl="http://feeds2.feedburner.com/robertbasic/blog/" htmlUrl="http://robertbasic.com/blog"/>
            <outline text="Stack Overflow ZF" title="Stack Overflow ZF"
                type="rss"
                xmlUrl="http://stackoverflow.com/feeds/tag/zend-framework" htmlUrl="http://stackoverflow.com/questions/tagged/zend-framework"/>
            <outline text="Thomas Weidner" title="Thomas Weidner"
                type="rss"
                xmlUrl="http://www.thomasweidner.com/flatpress/feed/rss2/" htmlUrl="http://www.thomasweidner.com/flatpress/"/>
            <outline text="Tom Graham" title="Tom Graham" type="rss"
                xmlUrl="http://www.noginn.com/feed/" htmlUrl="http://www.noginn.com"/>
            <outline text="Zend Dev Zone" title="Zend Dev Zone"
                type="rss"
                xmlUrl="http://feeds.feedburner.com/ZendDeveloperZone" htmlUrl="http://devzone.zend.com/"/>
        </outline>
    </body>
</opml>

答案 1 :(得分:3)

Akra的DevNotes有一个很棒的教程,可以创建一个示例应用程序:

http://akrabat.com/zend-framework-tutorial/

这是我开始使用ZF的地方。

答案 2 :(得分:2)

如果您已经熟悉MVC和设计模式,那么为什么不研究工具来帮助您更快地编写代码呢?

虽然我一般都喜欢免费工具,但我必须说使用Zend Studio IDE(基于Eclipse)可以帮助提高速度(30天免费试用)。

主要观点(除了调试器/分析器):

  • 它可以为MVC应用程序生成骨架
  • 基本砖块(控制器,视图,模型)的
  • 默认代码骨架

和-last但并非最不重要 -

    所有Zend类的
  • 自动完成(您可以按住Ctrl键并单击类名来打开它们)。我必须说非常方便。

确保拥有一台拥有大量内存的计算机!

答案 3 :(得分:1)

我现在处于你的确切情况(使用php:P的时间少了几年)

目前我正在使用Zend FrameWork作为参考,到目前为止我已经看到它很容易从旧的工作中重用你的结构。一旦设置了首选选项和树结构,就可以反复使用它。

所以我认为最好不要依赖第三方生成器并创建自己的骨架。在这种模式下,您将更加熟悉代码结构,并且您可以更好地掌握代码。

答案 4 :(得分:1)

使用框架意味着你不必完成所有繁琐的重复工作。

答案 5 :(得分:1)

  

据我所知有重复   需要花费大量时间的任务。

这是事实,正如您所说,几乎每个网站都有注册流程等。虽然我同意一遍又一遍地实现这些功能可能是重复的,但在某种程度上,每个应用程序都有自己独特的需求集 - 这意味着至少会涉及一些自定义工作,即使您重复使用代码一个较旧的基于ZF的项目。我现在要回答你的问题

  

你是Zend的开发者,使用某种方式   你写的滚动原型   快速推出基本网站?

不是真的。我不会选择ZF作为“基本”站点,也不会使用任何MVC框架。我目前的假设是基本站点由大约8到12个独立部分组成,没有真正特殊的功能和有限的要求。请记住,一旦我们说“框架”,除了该框架中可能存在的任何错误和问题之外,几乎总会有明显的性能损失。 你所说的'原型'将在Zend Framework中可用的类中,例如,Zend_Auth用于在大约15分钟内创建一个功能齐全的身份验证系统。

  

2)或者是否有一些网站源代码   建立在可用之上?

可能,虽然我不得不说,我最糟糕的噩梦是必须支持一个基于某种框架构建的应用程序,该框架包含另一个框架。图像调试它会有多么有趣。想象一下,教别人支持它会有多么有趣。你已经在使用框架,现在不要贪得无厌。

  

3)是否有一些应用程序生成器或   带网格的页面的小工具,   记录等?

我不太清楚你的意思,但如果我不得不猜测,也许是Zend Studio?

答案 6 :(得分:0)

有一本很好的德语书籍,你可以在这个网站的档案中找到一个入门应用程序并研究代码:http://www.zend-framework-buch.de/

答案 7 :(得分:0)

我们有一个可以提供帮助的工具:nWire for PHP分析您的代码,帮助您浏览它并直观地表示组件和关联。您最终需要阅读代码并使用nWire,这变得更加容易。

答案 8 :(得分:0)

对于快速入门,您可以阅读“Learn ZF2”一书。它是在核心Zend Framework 2(ZF2)团队成员和ZF2课程创建者的帮助下编写的,可能是获得有关Zend Framework 2及其功能的最佳见解的最佳匹配。书籍附有源代码,它会引导您逐步完成不同的概念。有趣的阅​​读,每页都变得更好。