프로젝트에 대한보다 완전한 설명을 찾고 있다면 문서 사이트를 확인하십시오 : https://www.uddocs.com/
이 데모는 라이브러리의 주요 기능을 보여줍니다.
나는 같은 내용을 반복해서 쓰지 않기 위해이 코드를 썼습니다. 나는 몇 년 동안 웹 응용 프로그램을 작성해 왔습니다. 그 응용 프로그램은 무엇을하고 있었습니까? 이들은 양식에서 데이터를 찍어 데이터베이스에 해당 데이터를 저장 한 다음 해당 데이터를 다른 양식으로 편집하고 테이블이나 다이어그램 광고에 해당 데이터를 표시하는 경우 가끔 데이터를 삭제하고있었습니다 (종종 공정하지 않음).
글쎄, 나는 MVC 이후 ORM, MVC 이후 ORM 이후에 형태를 따른 후 계속해서 그 일을 계속했다.
나는 길을 잃고 지루하다고 느꼈다. 나는 열심히 일하고 있었고 너무 작아졌습니다.
나는 내 프로세스 속도를 높이기 위해 많은 프레임 워크를 배웠고, 많은 책을 읽었습니다 : 새로운 것, 그래서 종료!
그런 다음 내 작업이 반복 가능하고 그 프레임 워크가 나를 늦추고 있음을 알기 시작했습니다.
MVC 접근 방식을 사용하면 각 변경 사항을 응용 프로그램에 적용하려면 최소한 3 개의 파일을 열어야합니다.
그래서 나는 궁금해지기 시작했습니다. 예를 들어 데이터베이스에서 가져온 데이터를 예를 들어 테이블 코팅하는 데 실제로 필요한 것은 무엇입니까? 답은 : SQL 쿼리를 만들어야하고 테이블의 구조를 정의해야하며 쿼리 결과를 테이블에 넣어야합니다. 그게 다야. 나는이 세 가지가 필요합니다.
이 모든 정보를 JSON 파일에 넣었고 다음과 같이 나왔습니다.
{
"query" : {
"sql" : " select id, name, amount, duedate FROM requestv1; "
},
"table" : {
"title" : " My table " ,
"fields" : [
{ "headline" : " Name " , "sqlfield" : " name " },
{ "headline" : " Amount " , "sqlfield" : " amount " },
{ "headline" : " Due date " , "sqlfield" : " duedate " }
]
}
}ORM, MVC도없고 내 길을 벗어나는 프레임 워크도 없습니다.
나는 ORM이 아니라 SQL을 사용했지만 SQL을 좋아한다는 것을 알고 있습니다! SQL은 연령대에 변하지 않았으며 이는 그것이 작동한다는 것을 의미합니다! 늙어가는 것은 슬픈 일이 아닙니다!
테이블에 제목을 주었고 필드 어레이에서는 해당 테이블의 셀을 채우기 위해 쿼리에서 가져온 헤드 라인과 SQL 필드를 정의했습니다. 이 같은 간단한 문제를 몇 번 해결 했습니까? 코드를 덜 작성한 적이 있습니까? 그것이 사실이라면 알려주세요!
나는 당신이 무엇을 생각하고 있는지 알고 있습니다. 이것은 충분히 일반적이지 않습니다. 계산을하거나 논리를 일반화하거나 더 복잡한 일을해야한다면 어떻게해야합니까? 글쎄, 당신은 항상 당신의 기존 방식으로 돌아가서 컨트롤러를 컨트롤러를 프로그래밍하고, 아마도 부분적으로 만들어지고, 연결하고, ORM, 당신의 모델을 작성하는 등 ...
그러나 똑바로합시다. 정말로 필요합니까? 얼마나 자주 그렇게합니까? 나는 종종 하나의 쿼리 결과로 테이블을 채우는 MySel을 발견했습니다.
지원되는 조치에 링크를 추가해야한다면 어떻게해야합니까? JSON 형식으로도 정의했습니다.
{
"query" : {
"sql" : " select id, name, amount, duedate FROM requestv1; "
},
"table" : {
"title" : " My table " ,
"fields" : [
{ "headline" : " Name " , "sqlfield" : " name " },
{ "headline" : " Amount " , "sqlfield" : " amount " },
{ "headline" : " Due date " , "sqlfield" : " duedate " }
],
"actions" : [
{ "label" : " Info " , "resource" : " inforequest " , "parameters" :[{ "name" : " id " , "sqlfield" : " id " }] },
{ "label" : " Edit " , "resource" : " formrequest " , "parameters" :[{ "name" : " id " , "sqlfield" : " id " }] },
{ "label" : " Delete " , "resource" : " deletereport " , "parameters" :[{ "name" : " id " , "sqlfield" : " id " }] }
]
}
}링크는 레이블에서 정의되어 있습니다 (사용자는 클릭중인 내용을 확인해야 함) 작업이 있으며 SQL 쿼리에서 나오는 매개 변수는 거의 없습니다.
자원이 무엇인지 궁금하다면 시스템에서 이와 같은 특정 JSON 구성 파일을 찾는 것은 색인입니다. 양식, PDF 수출, 데이터 차트, 필요한 모든 것에 대한 리소스가 있습니다. 더 필요한 경우 언제든지 새 템플릿을 정의 할 수 있습니다. 결국 오픈 소스 프로젝트입니다.
파일을 완성하기 위해해야 할 일은 거의 없습니다. 우리는 자원 사이에서 이름을 찾을 수 있도록 이름을 부여합니다. 앞으로 더 많은 기능을 추가 해야하는 경우 메타 데이터를 추가해야합니다.
이 시스템은 허용 그룹의 개념을 지원하여 특정 리소스에 액세스 할 수 있으므로 "허용 그룹"배열을 설명합니다.
이 파일에는 GET 섹션이 있습니다.이 구성은 모든 GET 요청을위한 것이기 때문에 있습니다.
{
"name" : " requesttablev1 " ,
"metadata" : { "type" : " table " , "version" : " 1 " },
"allowedgroups" : [ " administrationgroup " , " teachergroup " , " managergroup " ],
"get" : {
"request" : {
"parameters" : []
},
"query" : {
"sql" : " select id, name, amount, duedate FROM requestv1; "
},
"table" : {
"title" : " My table " ,
"fields" : [
{ "headline" : " Name " , "sqlfield" : " name " },
{ "headline" : " Amount " , "sqlfield" : " amount " },
{ "headline" : " Due date " , "sqlfield" : " duedate " }
],
"actions" : [
{ "label" : " Info " , "resource" : " inforequest " , "parameters" :[{ "name" : " id " , "sqlfield" : " id " }] },
{ "label" : " Edit " , "resource" : " formrequest " , "parameters" :[{ "name" : " id " , "sqlfield" : " id " }] },
{ "label" : " Delete " , "resource" : " deletereport " , "parameters" :[{ "name" : " id " , "sqlfield" : " id " }] }
]
}
}
}표준 템플릿을 사용할 수있는 경우 필요한 모든 리소스로 SRC/사용자 정의 폴더를 채우는 전체 애플리케이션을 만들 수 있습니다. 해당 폴더를 열고 다른 리소스가 어떻게 정의되는지 확인할 수 있습니다.