14天:提要
昨天,首先开始开发您自己的symfony应用程序。ob娱乐下载现在别停止。当你学习更多在symfony,试图将新功能ob娱乐下载添加到您的应用程序,主机的地方,与社区分享。欧宝体育平台怎么样
让我们来看一些完全不同的。如果你正在寻找一份工作,你可能会想要尽快通知发布一个新的工作。因为它不是很方便检查网站每隔一小时,我们将添加几个工作提要来保持我们Jobeet用户最新的。
格式
symfob娱乐下载ony框架原生支持格式和mime类型。这意味着相同的模型和控制器可以根据请求的格式有不同的模板。默认格式为HTML但symfony支持其他格式的ob娱乐下载三种
,js
,css
,json
,xml
,rdf
,或原子
。
可以通过设置的格式setRequestFormat ()
请求对象的方法:
美元的请求- >setRequestFormat(“xml”);
但大多数时候,是嵌入到URL的格式。在这种情况下,如果特殊symob娱乐下载fony会为你设置它sf_format
变量是用于相应的路线。的工作列表,列表网址是:
http://www.jobeet.com.localhost/frontend_dev.php/job
这个URL相当于:
http://www.jobeet.com.localhost/frontend_dev.php/job.html
这两个网址是等价的,因为生成的路线sfPropelRouteCollection
类有sf_format
扩展,因为html
是默认的格式。你可以检查一下自己通过运行应用:路线
任务:
提要
最新的工作养活
支持不同的格式一样容易创建不同的模板。创建一个Atom提要最新的工作,创建一个indexSuccess.atom.php
模板:
< !——应用程序/前端/模块/工作/模板/ indexSuccess.atom。php - - > < ?xmlversion=“1.0”编码=“utf - 8”吗?><饲料xmlns =“http://www.w3.org/2005/Atom”> <标题> Jobeet < /名称> <副标题> < /字幕> <最新工作链接href =”“rel =“自我”/ > <链接href =”“更新更新/ > < > < / > < >作者Jobeet <名称> < /名称> < /作者> < id >惟一的id < / id > <条目> <标题>头衔href = < /名称> <链接”“/ > < id >惟一的id < / id > <更新> < /更新> <总结>工作描述> < /总结公司<作者> <名称> < /名称> < /作者> < /条目> < /提要>
侧边栏
模板名称
作为html
是最常见的格式用于web应用程序,它从模板名称可以省略。这两个indexSuccess.php
和indexSuccess.html.php
模板是等价的,symfony使用第一个发现。ob娱乐下载
为什么后缀为默认模板成功
吗?一个动作可以返回一个值指示哪个模板来呈现。如果行动回报什么,它相当于以下代码:
返回sfView::成功;/ / = =“成功”
如果你想改变后缀,就返回其他东西:
返回sfView::错误;/ / = =‘错误’返回“Foo”;
就像昨天,模板的名称也可以通过改变setTemplate ()
方法:
这个美元- >setTemplate(“foo”);
默认情况下,symfonob娱乐下载y会改变的反应内容类型
根据格式,和所有html格式,布局是禁用的。一个Atom提要,symfony会改ob娱乐下载变内容类型
来application / atom + xml; charset = utf - 8
。
在Jobeet页脚,更新提要的链接:
< !——应用程序/前端/模板/布局。php - - > <李类=“喂”> < a href =“< ?php echo url_for(‘工作’,阵列(“sf_format”= >“原子”))? > "李>全部饲料< / > < / >
内部的URI是一样的工作
列表的sf_format
添加一个变量。
添加一个<链接>
标签的头部分的布局,允许自动发现浏览器的饲料:
< !——应用程序/前端/模板/布局。php - - > < link rel =“替代”类型=“application / atom + xml”title =“最新的工作”href =“< ?php echo url_for(‘工作’,阵列(“sf_format”= >“原子”),真的)? > "/ >
的链接href
属性,使用一个URL(绝对)的第二个参数url_for ()
帮手。
用下面的代码替换原子模板标题:
< !——应用程序/前端/模块/工作/模板/ indexSuccess.atom。php - - >Jobeet Latest Jobs “< ?php echo url_for(‘工作’,阵列(“sf_format”= >“原子”),真的)? > "rel =“自我”/ > <链接href =“< ?php echo url_for (@homepage,真的)? > "/ > <更新> < ? php回声函数(' % Y - % m - H % dT %: % m: %深圳',JobeetJobPeer::getLatestPost()- >getCreatedAt(“U”))作者? > < /更新> < > <名称> Jobeet < /名称> < /作者> < id > < ? php回声sha1(url_for(“工作”,数组(“sf_format”= >“原子”),真正的))? > < / id >
请注意使用U
作为参数getCreatedAt ()
日期作为一个时间戳。最新发布的日期,创建getLatestPost ()
方法:
/ / lib /模型/ JobeetJobPeer.php类JobeetJobPeer扩展BaseJobeetJobPeer{静态公共函数getLatestPost(){美元标准=新标准();自我::addActiveJobsCriteria(美元标准);返回JobeetJobPeer::doSelectOne(美元标准);}/ /……}
提要条目可以生成下面的代码:
< !——应用程序/前端/模块/工作/模板/ indexSuccess.atom。php - - >< ? phpuse_helper(“文本”)吗?>< ? phpforeach(美元的类别作为美元的类别):吗?>< ? phpforeach(美元的类别- >getActiveJobs(sfConfig::得到(“app_max_jobs_on_homepage”))作为美元的工作):吗?><输入> <标题>< ? php回声美元的工作- >getPosition()吗?>(< ? php回声美元的工作- >getLocation()吗?>)< /名称> <链接href =“< ?php echo url_for (job_show_user,美元的工作,真的)? > "/ > < id > < ? php回声sha1(美元的工作- >getId())? > < / id > <更新> < ? php回声函数(' % Y - % m - H % dT %: % m: %深圳',美元的工作- >getCreatedAt(“U”))? > < /更新> <总结type =“xhtml”> < div xmlns =“http://www.w3.org/1999/xhtml”>< ? php如果(美元的工作- >getLogo()):吗?>< div > < a href =“< ?php echo $工作- > getUrl () ? > "> < img src =“http:// < ?php echo $ sf_request - > getHost()。“/上传/工作/”。$工作- > getLogo () ? > "alt =“< ?php echo $工作- > getCompany() ? >标志”/ > < / > < / div >< ? phpendif吗?>< div >< ? php回声simple_format_text(美元的工作- >getDescription())吗?>< / div > < h4 >如何应用?< / h4 > < p > < ? php回声美元的工作- >getHowToApply()? > < / p > < / div > < /总结> <作者> <名称> < ? php回声美元的工作- >getCompany()? > < /名称> < /作者> > < /条目< ? phpendforeach吗?>< ? phpendforeach吗?>
的getHost ()
请求对象的方法(sf_request美元
)返回当前主机,方便用于创建一个绝对链接为公司的标志。
最新的工作类别
Jobeet的目标之一是帮助人们找到更有针对性的工作。因此,我们需要为每个类别提供一个提要。
首先,让我们更新类别
路由添加对不同格式的支持:
/ /应用程序/前端/ config /路由。yml类别:url: /类别/:蛞蝓。:sf_format类:sfPropelRoute param: { module: category, action: show, sf_format: html } options: { model: JobeetCategory, type: object } requirements: sf_format: (?:html|atom)
现在,类别
会理解的html
和原子
格式。更新模板的链接类别提要:
< !——应用程序/前端/模块/工作/模板/ indexSuccess。php - - > < div类=“喂”> < a href =“< ?php echo url_for(“类别”,阵列(“sf_subject”= >类别,美元“sf_format”= >“原子”))? > "提要> < / > < / div > < !——应用程序/前端/模块/类别/模板/ showSuccess。php - - > < div类=“喂”> < a href =“< ?php echo url_for(“类别”,阵列(“sf_subject”= >类别,美元“sf_format”= >“原子”))? > "提要> < / > < / div >
最后一步是创建showSuccess.atom.php
模板。但随着该提要列表也会工作,我们可以重构代码,通过创建一个生成提要条目_list.atom.php
部分。至于html
格式,泛音是特定于格式:
< !——应用程序/前端/模块/工作/模板/ _list.atom。php - - >< ? phpuse_helper(“文本”)吗?>< ? phpforeach(美元的工作作为美元的工作):吗?><输入> <标题> < ? php回声美元的工作- >getPosition()吗?>(< ? php回声美元的工作- >getLocation()吗?>)< /名称> <链接href =“< ?php echo url_for (job_show_user,美元的工作,真的)? > "/ > < id > < ? php回声sha1(美元的工作- >getId())? > < / id > <更新> < ? php回声函数(' % Y - % m - H % dT %: % m: %深圳',美元的工作- >getCreatedAt(“U”))? > < /更新> <总结type =“xhtml”> < div xmlns =“http://www.w3.org/1999/xhtml”>< ? php如果(美元的工作- >getLogo()):吗?>< div > < a href =“< ?php echo $工作- > getUrl () ? > "> < img src =“http:// < ?php echo $ sf_request - > getHost()。“/上传/工作/”。$工作- > getLogo () ? > "alt =“< ?php echo $工作- > getCompany() ? >标志”/ > < / > < / div >< ? phpendif吗?>< div >< ? php回声simple_format_text(美元的工作- >getDescription())吗?>< / div > < h4 >如何应用?< / h4 > < p > < ? php回声美元的工作- >getHowToApply()? > < / p > < / div > < /总结> <作者> <名称> < ? php回声美元的工作- >getCompany()? > < /名称> < /作者> > < /条目< ? phpendforeach吗?>
您可以使用_list.atom.php
部分来简化工作提要模板:
< !——应用程序/前端/模块/工作/模板/ indexSuccess.atom。php - - > < ?xmlversion=“1.0”编码=“utf - 8”吗?><饲料xmlns =“http://www.w3.org/2005/Atom”> <标题> Jobeet < /名称> <副标题> < /字幕> <最新工作链接href =“< ?php echo url_for(‘工作’,阵列(“sf_format”= >“原子”),真的)? > "rel =“自我”/ > <链接href =“< ?php echo url_for (@homepage,真的)? > "/ > <更新> < ? php回声函数(' % Y - % m - H % dT %: % m: %深圳',JobeetJobPeer::getLatestPost()- >getCreatedAt(“U”))作者? > < /更新> < > <名称> Jobeet < /名称> < /作者> < id > < ? php回声sha1(url_for(“工作”,数组(“sf_format”= >“原子”),真正的))? > < / id >< ? phpforeach(美元的类别作为美元的类别):吗?>< ? phpinclude_partial(“工作/列表”,数组(“工作”= >美元的类别- >getActiveJobs(sfConfig::得到(“app_max_jobs_on_homepage”))))吗?>< ? phpendforeach吗?>< /提要>
最后,创建showSuccess.atom.php
模板:
< !——应用程序/前端/模块/类别/模板/ showSuccess.atom。php - - > < ?xmlversion=“1.0”编码=“utf - 8”吗?><饲料xmlns =“http://www.w3.org/2005/Atom”> <标题> Jobeet(< ? php回声美元的类别吗?>)< /名称> <副标题> < /字幕> <最新工作链接href =“< ?php echo url_for(“类别”,阵列(“sf_subject”= >类别,美元“sf_format”= >“原子”),真的)? > "rel =“自我”/ > <链接href =“< ?php echo url_for(“类别”,数组(“sf_subject”= > $一类),真的)? > "/ > <更新> < ? php回声函数(' % Y - % m - H % dT %: % m: %深圳',美元的类别- >getLatestPost()- >getCreatedAt(“U”))作者? > < /更新> < > <名称> Jobeet < /名称> < /作者> < id > < ? php回声sha1(url_for(“类别”,数组(“sf_subject”= >美元的类别),真正的))? > < / id >< ? phpinclude_partial(“工作/列表”,数组(“工作”= >美元寻呼机- >getResults()))吗?>< /提要>
的主要工作,我们需要最新的日期工作类别:
/ / lib /模型/ JobeetCategory.php类JobeetCategory扩展BaseJobeetCategory{公共函数getLatestPost(){返回这个美元- >getActiveJobs(1)- >列表();}/ /……}
最终的想法
与许多symfony功能,ob娱乐下载本机格式支持允许您添加订阅的网站没有努力。今天,我们已经提高了求职者的经历。明天,我们将看到如何提供更大的接触工作海报通过提供一个Web服务。
这项工作在Creative Commons许可Attribution-Share都3.0 Unported许可执照。