Zend framework 潜在Zend框架开发者的编程问题

Zend framework 潜在Zend框架开发者的编程问题,zend-framework,Zend Framework,我能给几个不了解Zend框架的潜在开发人员提出的一个大问题是什么 我的目标主要是确定他们自己快速学习新事物的能力(即框架)。这必须是他们通常在几个小时内完成的事情,但在这种情况下,由于他们不熟悉框架,由于额外的阅读和stackoverflow.com使用,他们将需要更多的时间;),所以,我可以让他们在周末做一些事情 此外,问题必须非常直接地指向视图和控制器部分,因为前端工作主要是我需要从他们那里得到的。(而且Zend框架对模型并没有多大帮助)。这个问题可能需要他们做一点ajax,通常是“漂亮、功

我能给几个不了解Zend框架的潜在开发人员提出的一个大问题是什么

我的目标主要是确定他们自己快速学习新事物的能力(即框架)。这必须是他们通常在几个小时内完成的事情,但在这种情况下,由于他们不熟悉框架,由于额外的阅读和stackoverflow.com使用,他们将需要更多的时间;),所以,我可以让他们在周末做一些事情


此外,问题必须非常直接地指向视图和控制器部分,因为前端工作主要是我需要从他们那里得到的。(而且Zend框架对模型并没有多大帮助)。这个问题可能需要他们做一点ajax,通常是“漂亮、功能性强,但后端不是很复杂”的东西。

对我来说,每个ZF开发人员应该具备的基本技能都与以下方面有关:

  • 编写自定义视图帮助程序-最好是自定义名称空间,而不是
    Zend
    ,因为这将学习如何在视图中注册帮助程序路径
  • 一定要使用
    Zend_Form
    编写一些表单类(并与decorators斗争;)。甚至可能是一些自定义表单元素,这也需要注册助手路径和新的名称空间-基本技能
  • 编写简单的ACL系统。在那里,你可以检查他们是如何做到的——这将为你提供有关他们软件架构知识的信息。它们是作为插件实现的吗?可能是在
    index.php
    中硬编码的?或自定义控制器和
    init
    preDispatch
    方法
  • Auth-在ZF中是10-15行,但您必须搜索它:)
  • 有些数据库模型工作简单。两个、三个表以及它们之间的关系—它可以是最简单的ACL表:
    用户
    角色
    用户拥有
    角色
  • 当然,使用布局和使用ZF的视图助手来附加脚本和样式
  • 定义一些自定义路由
  • 在某种程度上实现缓存
  • 了解引导是如何工作的——对于大多数这些任务,使用基于bootstrap和application.ini的引导资源将是最简单的
  • 涵盖几乎所有技能的简单“应用程序”可能如下所示:

  • 包含三个表的简单数据库:
    用户
    角色
    具有_角色
    。在里面
    用户
    表列
    中创建 插入时是否自动设置 记录。(包括Zend_Db_适配器, 应用程序(application.ini)
  • 应用程序有三个模块/控制器/页面-调用它 你想要什么。
    a)能够添加、删除和编辑用户和角色。典型的积垢。 此外,您可以说网格 必须是前端侧(jqGrid, 数据表等)使用AJAX获取 来自应用程序的数据。在那里,您将检查 他们以自己的方式实现AJAX输出 拥有或使用ZF的
    contextSwitch
    特色。(封面 Zend_Db_表_摘要,关系 他们之间,对模型的理解, Zend_Db_选择、查看和可能 查看帮助程序,如
    appendScript
    , Zend_表格)
    b)自定义文件的上传程序-这种基于web的存储。简单形式 使用以下命令上载文件和表格 他们的名单和可能性 下载(包括安全性,可能包括 Zend_表单和Zend_文件传输, 如果他们使用 与a)中的表格相同
    c)页面,显示你想从谁那里得到的最后10条推文 Twitter,它必须为x缓存 小时。(覆盖Zend_缓存,然后 可能是Zend_服务或XML、JSON 知识-取决于他们如何实施 (it)
  • 此外,应用程序需要用户登录 在使用登录名和密码时(您可以 比如说,注册必须是另一个 应用程序的一部分)。吃 ACL系统的优势,用户拥有 仅访问b)和c)(以及 课程注册/登录页面;),但 管理所有三个页面

    现在你有两个套路了。
    第一种说法是:

    “它必须在ZF中。但是表单必须使用Zend_表单,模型必须使用Zend_Db_Table_Abstract。对于auth,您必须使用Zend_auth作为ACL前端控制器插件,等等…”

    第二种说法是:

    “它必须在ZF中。你在内部是怎么做的——这完全是你的事——但它必须起作用。”

    根据您的需要,您会选择哪一种:)


    个人而言,在招聘过程中,我使用第二种方法(有时甚至不指定框架),因为正如我之前所说,它向我展示了候选人的思维方式,这一点也很重要。候选人是“DIY人”吗“他们想自己做所有事情,尽管事实上已经有10个这样的解决方案,或者她/他更喜欢RTFM人,或者两者兼而有之。当你们需要开发应用程序时,你们可以自己决定如何开发,使用哪些组件,这样会更有创意。在应聘者制作了这样的应用程序之后,你仍然可以做一个代码审查,并向他们展示在哪些地方可以做一些不同的事情——这样他们可以学到一些新的东西,也许你会从他们的方法中学到一些东西:)

    这是一个非常好的答案!有人认为他们可以做得更好吗?考虑到候选人必须从零开始了解ZF是如何工作的,你会给他们多少时间来做这样的应用程序?哈!好问题。答案是——他们想要多少就有多少!我给他们发送目标,然后我只是问:“你什么时候做这个?”如果他说5小时,好的,那么给她/他那么多时间(当然在常识的范围内-4周在我描述的这么简单的应用程序中不是一个有效的答案;)。为什么会这样?因为您可以对应聘者的技能进行评分以估计其工作时间,这对于开发人员来说是非常理想的技能。注:最好您的员工不要看到此讨论:]