2009-06-19 24 views
5

我是Zend Framework的新手。学习Zend Framework 1.8时遇到的困难

我下载了Zend Framework,然后按照官方快速入门教程构建了一个非常简单的注册表单。但是在那之后,我发现很难学习Zend Framework的不同元素。

很多教程在bootstrap文件中提到了frontController和registerAutoload()。但是,似乎我无法再在1.8版的代码中看到它(在official quickstart tutorialGetting Started with Zend Framework 1.8中都有)。许多教程包含旧版本的代码,它在v1.8中看起来非常不同。

我开始用写密码确认注册表单。我阅读了官方文件并找到了custom validator for password confirmation。它只是把课堂放在那里,并没有提到我如何使用它。我不知道我应该把这个文件放在哪里,我在Google找不到任何提示。 “未找到类”错误总是让我感到恶心(我试过addPrefixElement,set_include_path但它们不起作用)。

用户注册,电子邮件激活,登录,访问控制是非常常见的任务。但是我甚至没有在v1.8中找到一段可以在我的机器上运行的示例代码。我对Zend Framework非常沮丧。

有没有人给我一些建议?

回答

8

我也刚开始学习zend框架。我也觉得老教程,使学习混乱和艰难, 的很多,但也有一些资源,我在学习Zend框架寻求帮助:

一些有用的博客,这可能有助于:

论坛问你的问题:

至于找不到类,我想你没有自动加载? Zend框架的

4

零件已在1.8版本略有改变,但一切都应该是向后兼容,以便使用1 *发布系列编写的所有代码示例应该仍然很少或根本没有修改工作。这是不同的主要领域是

  • Zend的装载机(以register_autoload相关的)现在有(如果你使用的老办法用PHP警告)相关的性能和它的API中的一些细微的差别了一些改进。我不会担心太多此类作为一个初学者 - 只需按照教程或继续包括/ require语句,直到你成为恼火将他们所有的时间用!

  • Zend的应用程序,它基本上可以让你创建你的设置和初始化代码少做文章。同样,你不必使用它,你可以愉快地写手动引导类,让你使用的框架是如何放在一起。

至于入门我会强烈建议让你的头部周围的Zend控制器组件,尤其是前端控制器部分和this diagram。 为了验证一下Zend Auth,电子邮件看到Zend Mail,用于访问控制见Zend Acl和形式和验证见Zend FormZend ValidateZend Filter。表单和验证组件将解释有关路径并添加您自己的自定义验证器和表单元素。

重要性的另一个领域是Zend Db它允许您将数据保存到数据库中。还有Zend View表示MVC堆栈中的视图层。在我看来,这些是基本ZF应用程序的关键组成部分。从那里你可以随时随地探索其他组件。

不要忘记,Zend Framework专门设计为松散耦合,并且对于特定任务使用另一个项目中的其他组件非常容易。有时候也需要编写自己的组件。如果您希望使用Zend组件的组件,请继续操作。

老实说,虽然很难为初学者导航,但文档非常好。一旦你了解了核心组件,一切都将变得更加清晰。

也可以尝试以下this tutorial。这将有助于解释很多基础知识。

0

我有这么多的同情与你比利。我是一个新手,旧的方式和新的方式之间的混淆几乎是无法处理的。还看到这里的人谁指出一些主要区别:

http://crossfunctional.wordpress.com/2009/05/

0

所有文件,特别是Zend的文件是绝对可怕。这一切都假设你“知道”他们所指代的片段的位置以及他们如何一起工作。如果我已经知道这些事情,我不需要文档。没有完整的示例应用程序,您可以下载和修改身份验证等。我非常遗憾,不得不花时间学习这个框架。我能找到的所有例子显然都是针对老版本的。我在YouTube上跟随其中一个进行了身份验证,这是针对信函设计的1.8。它无法在1.9.x中工作。无法让它为我的生活工作。完全沮丧Zend Framework!

2

我推荐这些视频教程由一个叫做Alex的人来完成,他不断更新并随时发布新的视频教程,它们都与ZF 1.8和1.9相关。

他甚至详细的视频教程覆盖ACL,登录表单等。(我与Zend的第一个步骤是容易感谢他!)

http://alex-tech-adventures.com/development/zend-framework.html?start=15 - 他的网站是有点comfusing但值得搞清楚的时候它:)

干杯 罗马

0

Zend框架已经从一个比较方便和简单的系统更复杂的实体转移。它在过去几年中经历了许多快速发展,并留下了大量较旧的文档。

我们的项目被困在版本1.7.x上,因为它和最新版本的差别太大,这使得开发和测试时间过于昂贵。

我喜欢Zend Framework,因为它有如此多的深度,但它绝对是初学者的双刃剑。

我肯定会推荐使用其他用户的专业知识,并搜索出一些简单的框架示例。 ZF 高适应性,但您需要尝试和尽可能为您的需求尽可能最简单的情况下工作。

我觉得马修纬二路o'Phinney,(搜索“PHLY,男孩,PHLY”)是开发团队的更平易近人的成员之一,拥有的在他的网站的例子和想法负荷。

祝你好运!

1

一些提示:

这里是调度过程

http://nethands.de/download/zenddispatch_en.pdf

的一个很好的图这是很容易理解ZF如果你是在OOP/OOP设计模式经历

当我第一次遇到ZF时,我对OOP知之甚少。 ZF促使我学习面向对象这是一件非常好的事情。

ZF的“魔力”,实际ZF架构

区分虽然我有ZF类有很好的理解我仍然感到困惑时,ZF增加了它的“魔力”的组合。

当我说“魔力”我指的是类似的东西

  • 加载,如果未指定使用的默认对象,
  • 网址controllername,文件路径,文件名拐点/命名约定。
  • 配置设置到类的实例映射

ZF是有点像意义上的裂纹经销商的“入门教程”让你大呼过瘾,立竿见影。他们执行如此多的魔法,它让你觉得 .oO(哇 - 这是多么简单!这个框架很酷!)

然后只要你开始尝试做你自己的事情 - 魔法开始得到真的很混乱。

所以 - 我的策略是尽可能多的移除ZF魔法。如果您可以选择指定要使用的类或要使用的路由器,请指定它。不要让Zend为你做。

然后,当发生奇怪的事情时,你可以更容易地发现错误。另外,如果你指定了类/路径的位置(相对于让ZF神奇地变换路径并找到脚本),那么你不必担心'在哪里放置它? ,在哪里放? - 你只要把事情放在你想要的地方,并明确指出ZF。

随着您对ZF更加熟悉,您可能想让它接管并为您做一些魔术。只有到那时你才能真正理解为什么这个魔法很方便。

正如Tim Wardle在另一个答案中所说 - 赞成在zend loader中需要声明,直到你真的需要它。

如果您是一家PHP设计公司,每周都会推出10个网站项目,那么ZF Magic会非常有用。如果你正在设计你的第一个ZF应用程序 - 那么'减少复杂性'是比'可重用性'更重要的设计目标。

浏览代码

它似乎很明显,但对了解ZF的最佳方法之一是看代码。

再次,ZF的魔法可以阻挡 - 我经常想看看方法的参数来发现我需要传递的内容,只是发现它期望有一个模糊的'选项数组'(不完全有用)。不过一段时间后,你开始注意到'选项键'如何与吸气/吸气方法结合的惯例。所以,请继续关注代码并熟悉'ZF方式'。

我'打开'elps。

+0

在ZF魔术上写下我的作品之后,我觉得可能有一种'ZF Magic Info'组件可以'观察'框架,并且可以在末尾输出类似'phpinfo()'的东西所以我们可以看到最新的情况。 - 只是一个想法 – 2010-08-23 14:11:03