동적 폼 생성에 대한 디자인 아이디어를 찾고 있습니다. 검증에 구축 할 양식 PHPAnnotation 양식 요소와 검증 배열로 정의하는 예에서다이내믹 폼 제작/메타 프로그래밍/PHP
class Group extends IDKModel {
/**
* @Form
*/
public $title;
/**
* @Form(validation="{my validation rules here}")
*/
public $permissions;
}
:
는 내가 현재 가지고하는 것은 예를 들어 몇 가지 속성/변수 모델의 무리입니다 그것 안에 규칙. 이제 내가 가지고있는 문제는 조건문을 구현하는 방법을 모른다는 것입니다.
예를 들어, 사용자가 admin 인 경우 $ 권한을 표시하는 방법. 시간대가 12:00 GMT를 넘는 경우 $ title을 표시하는 방법. 기본적으로 어떤 종류의 조건부.
는 irc.quakenet.org에서 #php에서 촬영 :[10:50] <ramirez> i would not try to stick all of the meta-info under one attribute
[10:50] <ramirez> it'd be much cleaner to do something like
[10:50] <ramirez> @FormElement
[10:51] <ramirez> @Validator(params)
[10:51] <ramirez> etc
[10:52] <ramirez> anyways, I would probably do something like.. @Filter(name="Group",value="admin,editor")
[10:53] <ramirez> then for each filter you want to implement, you'll create a class like "Model_Filter_Group", which would be used for eg. the above filter
[10:53] <ramirez> that class in this case would simply explode the groups by comma and see if user is in any of those groups
[10:54] <ramirez> you can use that for any kind of filtering, eg: @Filter(name="PastTime", value="12:00")
사람은 간단한 아이디어가?
에서 발견에만 기초뿐만 아니라 튜토리얼을 포함 유효성 검사 논리와 형태의 프리젠 테이션 로직을 혼합하지 않으려 고. 이것은 간단한 질문은 아니지만 해결책이 있습니다. 그것의 다만 확실히 크고 나는 어디에 그것을 배치하는 모른다. – Petah
프리젠 테이션 로직을 검증 로직과 분리해야하는 이유는 무엇입니까? 내가 고려중인 것은 PHPAnnotations의 세 가지 다른 유형을 가지고 있습니다 : @Form, @Validation, @Filter @Form은 폼 요소로 정의하고 @Validation은 유효성 검사를위한 모든 규칙을 가지고 @Filter는 프리젠 테이션 논리를 처리합니다. – Peeter
그게 내가 배운 디자인 패턴에서하는 일이 아니기 때문이야. 나는 주석을 모두 사용하지 말아야한다고 생각한다. – Petah