php学习:构建样例应用程序(三)

操作方法

  • 01

    注:symfony 提供了自动生成代码的功能,用于基于数据库提供 Create、Read、Update 和 Delete (CRUD) 功能。虽然这可以帮助您快速地集中应用程序的基本信息,但是在这种环境下使用它,您无法清楚地了解 symfony 应用程序进行整合的方式。基于本文的学习目的,您将手动构建应用程序。 生成模型 您将使用的 posts 表同样是在 第 1 部分 中创建的。 由于 symfony 将使用 Propel 来提供对象关系映射 (Object Relational Mapping),因此需要用 symfony 命令行实用程序来生成模型。这要求描述数据库模式并先提供一些数据库信息。 注:技术上讲,没有必要先提供数据库信息。symfony 将根据模式构建模型,并且甚至可以使用命令行实用程序生成 SQL 脚本以根据模式定义创建数据库。我们将在后面的一篇文章中尝试该操作。 对于数据库和模式定义文件,symfony 将使用 Yet Another Markup Language (YAML)。YAML 不太复杂,但是如果您以前从未使用过它,则它可能会有些令人迷惑。在这个例子中,对于 YAML 需要了解到 whitespace 非常重要。使用两个空格表示缩进,而且绝不使用制表符。 现在将编辑 database.yml 和 schema.yml 文件。这些文件位于 /column/protected/sf_column/config 中。并且需要编辑 schema.yml 文件来描述 posts 表。编辑模式文件以包含下列信息: 清单 2. 编辑 schema.yml 文件 propel: posts :  _attributes: { PHPName: Post }  id:  title:    varchar(255)  text:    longvarchar  modified: timestamp 注:由于您可能是复制并粘贴了这段代码,请返回查看并确保每个缩进都是两个空格,并且未使用任何制表符。例如,modified 行开头前应当有四个空格(两个表示 posts 的缩进,两个表示 modified 的缩进)。 应当编辑 database.yml 文件使其包含具体的数据库参数。该文件看上去可能类似清单 3。 清单 3. database.yml 文件 all: propel:  class:     sfPropelDatabase  param:   PHPtype:   MySQL   hostspec:   localhost   database:   symfony   username:   Frameworks   password:   fwpw 这应当不难。现在模式和数据库配置已经完成,您可以生成模型了。返回到先前使用的命令行并在 /column/protected/sf_column 中执行以下命令: php /column/protected/symfony/data/bin/symfony propel-build-modelphp /column/protected/symfony/data/bin/symfony clear-cache 每条命令都将输出大量数据,但是重要的最终结果是在 /column/protected/sf_column/lib/model 中创建 Post.php 和 PostPeer.php 文件 —— 这些是您的模型。如果打开这些模型,您将看到那里面没有很多内容。它们只是扩展了基本模型类。 注:无论何时重新构建模型,都必须运行上面的 clear-cache 命令。 好的!这一轮对模型的学习已经完成。关于模型还有很多内容可说,但是接着需要构建控制器。 构建控制器 您不需要像在 Zend 中一样编写 Front 控制器,因为 symfony 已经为您提供了该控制器。 post 控制器实际上将被称为 actions.class.php 并且将位于 /column/protected/sf_column/apps/blahg/modules/post/actions 中。此控制器将为 post 模块处理所有操作。像以前一样,您需要三个操作,但是名称不同:executeIndex、executeRead 和 executeWrite(executeXxxxxx 是 symfony 所使用的操作命名约定,并且必须遵守)。

(0)

相关推荐

  • php培训:构建样例应用程序(四)

    操作方法 01 executeIndex 操作十分简单:检索 posts 并使其对视图可用.executeRead 操作也十分简单:获取 post ID.检索 post 并使 post 数据对视图可用 ...

  • 学习c语言需要什么程序?

    操作方法 01 怎样才能学好C语言 1.学好C语言,你可以很好地应付任何一种编程工具. 2.一定要多上机练习,通过程式了解相关知识.几经反复方得正果. 3.不要把学习C语言当成一种任务,更不要把它看成 ...

  • 如何设置打印机打印出带有样例字样的文件

    我们有时候打印一些资料时,需要将资料上加上样例字样,尤其是一些特别重要的资料,例如:公司的营业执照.营业执照副本等,那么如何进行设置打印机,然后让打印出来的资料带有样例字样呢?下面小编来教大家. 操作 ...

  • Debug卡原理及其使用样例介绍

    PC技术发展到今天可以说已经达到了前所未有的性能,在易用性上也大大的改善了,然而在装机及使用的时候却经常发生一些问题。经常装机的朋友一定深有体会,当你辛辛苦苦地买回来一大堆配件,满头大汗地把它们装在一 ...

  • c语言菜鸟学习编写的第一个程序HelloWorld

    HelloWorld是几乎每个语言类书籍所教的第一个程序,你学会了,代表你入门了,然而要成为高手,是要走过漫长的路程的.编写程序前,自己电脑上至少要安装一款C语言编程软件. 操作方法 01 打开Mic ...

  • 学习C++的第一个程序HelloWorld

    每学习一门编程语言,遇到的第一个程序常常就是HelloWorld,C++是一门应用广泛的语言,下面介绍它的HelloWorld. 操作方法 01 新建文件HelloWorld.cpp 02 查看新建的 ...

  • 从landing page的八要素谈设计理论(附165个参考样例)

    小编:landing page就是当潜在用户点击广告或者利用搜索引擎搜索后显示给用户的网页.一般这个页面会显示和所点击广告或搜索结果链接相关的扩展内容.与其在遇到接到landing page 的需求时 ...

  • 淘宝装修特效代码之文字滚动轮播

    文字卡盘轮播特效,现在很多店铺的店招中都有这个特效,我们来实现一下 操作方法 01 打开文本编辑器,复制以下这段样例代码: <div  class="J_TWidget scroll- ...

  • 如何学习驾校一点通App中的科目三内容

    今天,小编给大家介绍学习驾校一点通中科目三内容的方法,希望对大家有所帮助.具体如下:1. 首先,请大家在自己的手机中找到[驾校一点通]图标,点击进入主界面,然后选择箭头所指的[科目三]按钮.2. 第二 ...