将基于 INI 的配置转换为 YAML 时出现问题
向大家问好。
我正在开发一个使用 Zend_Config 创建表单的项目。我正在努力扩大我的知识基础,但遇到了障碍。
我有一个 ini 格式的表单配置文件,可以正常工作。我想将该表单配置转换为基于 YAML 的文件。我尝试自己编写转换,尽管我解释了一切。由于这是我第一次使用 yaml,我需要帮助来看看出了什么问题。
有效的 ini 文件在这里:
[production]
;General From Meta Data
logon.form.action = "/customers/plogin"
logon.form.method="post"
logon.form.id="loginform"
;Form Element Prefix Data
logon.form.elementPrefixPath.decorator.prefix = "Elite_Decorator_"
logon.form.elementPrefixPath.decorator.path = "Elite/Decorator/"
logon.form.elementPrefixPath.decorator.type = "decorator"
logon.form.elementPrefixPath.validate.prefix = "Elite_Validate_"
logon.form.elementPrefixPath.validate.path = "Elite/Validate/"
logon.form.elementPrefixPath.validate.type = "validate"
;Form Element - email
logon.form.elements.email.type = "text"
logon.form.elements.email.options.required = "true"
logon.form.elements.email.options.label = "Email"
logon.form.elements.email.options.decorators.composite.decorator = "Composite"
logon.form.elements.email.options.validators.strlen.validator = "StringLength"
logon.form.elements.email.options.validators.strlen.options.min="2"
logon.form.elements.email.options.validators.strlen.options.max="50"
;Form Element - Password
logon.form.elements.password.type = "password"
logon.form.elements.password.options.required = "true"
logon.form.elements.password.options.label = "Password"
logon.form.elements.password.options.decorators.composite.decorator = "Composite"
logon.form.elements.password.options.validators.strlen.validator = "StringLength"
logon.form.elements.password.options.validators.strlen.options.min="2"
logon.form.elements.password.options.validators.strlen.options.max="20"
;Form Element - Submit
logon.form.elements.submit.type = "submit"
logon.form.elements.submit.options.label = "Logon"
;Form Display Group 1
logon.form.displaygroups.group1.name = "logon"
logon.form.displaygroups.group1.options.legend = "Please Login to your Account"
logon.form.displaygroups.group1.options.decorators.formelements.decorator = "FormElements"
logon.form.displaygroups.group1.options.decorators.fieldset.decorator = "Fieldset"
logon.form.displaygroups.group1.options.decorators.fieldset.options.style = "width:375px;"
logon.form.displaygroups.group1.elements.email = "email"
logon.form.displaygroups.group1.elements.password = "password"
logon.form.displaygroups.group1.elements.submit = "submit"
我的 YAML 翻译:
production:
logon:
form:
action: /customers/plogin
method: post
id: loginform
elementPrefixPath:
decorator:
prefix: Elite_Decorator_
path: Elite/Decorator/
type: decorator
validate:
prefix: Elite_Validate_
path: Elite/Validate/
type: validate
elements:
email:
type: text
options:
required: true
label: Email
decorators:
composite:
decorator: Composite
validators:
strlen:
validator: StringLength
options:
min: 2
max: 50
password:
type: text
options:
required: true
label: Password
decorators:
composite:
decorator: Composite
validators:
strlen:
validator: StringLength
options:
min: 2
max: 20
submit:
type: submit
options:
label: Logon
displaygroups:
group1:
name: logon
options:
legend: Please login to your account
decorators:
formelements:
decorator: FormElements
fieldset:
decorator: Fieldset
options:
style: width:375px;
elements:
email: email
password: password
submit: submit
基于 YAML 的表单只给了我一个空白页。经调查,输出的页面中不包含任何表单标记。任何帮助将不胜感激。
问候, 特洛伊
Greetings to all.
I am working on a project that uses Zend_Config to create forms. I am working on broadening my knowledge base and have hit a snag.
I have a form config file in ini format that works fine. I would like to convert that form configuration into a YAML based file. I attempted to write the conversion myself, and though I accounted for everything. As this is my first journey into yaml, I need help to see what is wrong.
The ini file that works is here:
[production]
;General From Meta Data
logon.form.action = "/customers/plogin"
logon.form.method="post"
logon.form.id="loginform"
;Form Element Prefix Data
logon.form.elementPrefixPath.decorator.prefix = "Elite_Decorator_"
logon.form.elementPrefixPath.decorator.path = "Elite/Decorator/"
logon.form.elementPrefixPath.decorator.type = "decorator"
logon.form.elementPrefixPath.validate.prefix = "Elite_Validate_"
logon.form.elementPrefixPath.validate.path = "Elite/Validate/"
logon.form.elementPrefixPath.validate.type = "validate"
;Form Element - email
logon.form.elements.email.type = "text"
logon.form.elements.email.options.required = "true"
logon.form.elements.email.options.label = "Email"
logon.form.elements.email.options.decorators.composite.decorator = "Composite"
logon.form.elements.email.options.validators.strlen.validator = "StringLength"
logon.form.elements.email.options.validators.strlen.options.min="2"
logon.form.elements.email.options.validators.strlen.options.max="50"
;Form Element - Password
logon.form.elements.password.type = "password"
logon.form.elements.password.options.required = "true"
logon.form.elements.password.options.label = "Password"
logon.form.elements.password.options.decorators.composite.decorator = "Composite"
logon.form.elements.password.options.validators.strlen.validator = "StringLength"
logon.form.elements.password.options.validators.strlen.options.min="2"
logon.form.elements.password.options.validators.strlen.options.max="20"
;Form Element - Submit
logon.form.elements.submit.type = "submit"
logon.form.elements.submit.options.label = "Logon"
;Form Display Group 1
logon.form.displaygroups.group1.name = "logon"
logon.form.displaygroups.group1.options.legend = "Please Login to your Account"
logon.form.displaygroups.group1.options.decorators.formelements.decorator = "FormElements"
logon.form.displaygroups.group1.options.decorators.fieldset.decorator = "Fieldset"
logon.form.displaygroups.group1.options.decorators.fieldset.options.style = "width:375px;"
logon.form.displaygroups.group1.elements.email = "email"
logon.form.displaygroups.group1.elements.password = "password"
logon.form.displaygroups.group1.elements.submit = "submit"
And my YAML translation:
production:
logon:
form:
action: /customers/plogin
method: post
id: loginform
elementPrefixPath:
decorator:
prefix: Elite_Decorator_
path: Elite/Decorator/
type: decorator
validate:
prefix: Elite_Validate_
path: Elite/Validate/
type: validate
elements:
email:
type: text
options:
required: true
label: Email
decorators:
composite:
decorator: Composite
validators:
strlen:
validator: StringLength
options:
min: 2
max: 50
password:
type: text
options:
required: true
label: Password
decorators:
composite:
decorator: Composite
validators:
strlen:
validator: StringLength
options:
min: 2
max: 20
submit:
type: submit
options:
label: Logon
displaygroups:
group1:
name: logon
options:
legend: Please login to your account
decorators:
formelements:
decorator: FormElements
fieldset:
decorator: Fieldset
options:
style: width:375px;
elements:
email: email
password: password
submit: submit
The YAML based form only gives me a blank page. Upon investigation, none of the form markup is included in the page that is output. Any help would be greatly appreciated.
Regards,
Troy
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为你的代码应该有更好的缩进:
I think you should have better indentation in your code: