2011-08-26 3 views
4

저는이 문제에 대해 지금 당분간 생각해 왔으며 많은 생각과 많은 시도에도 불구하고 최선의 방법을 개념화 할 수 없었습니다. 대화 형 웹 응용 프로그램의 데이터 흐름을 데이터베이스, 서버 측 코드 및 클라이언트 측 코드 측면에서 어떻게 구성 할 수 있는지에 대한 모범 사례를 알아야합니다. 현재 내가 작업중인 언어는 데이터베이스 용 MySQL, 서버 측 언어 용 PHP 및 클라이언트 측 코드 용 JavaScript/CSS/HTML/jQuery입니다. 사용자가 데이터베이스에서 선택, 업데이트, 삭제 및 삽입과 같은 작업을 안전하게 수행하고 웹 페이지에 예쁜 형식으로 표시되도록하는 영리한 방법을 찾으려고합니다.PHP/Javascript/MySQL 프레임 워크를 만드는 방법에 대한 제안?

나는 훌륭한 대화 형 웹 사이트를 만들고, 멋진 PHP 응용 프로그램을 작성하고, 체계적이고 효율적인 데이터베이스 스키마를 설정하는 데 이미 능숙합니다. 그러나 나는 그들을 모두 연결하는 추상적이고 효율적인 방법론을 찾는 데 어려움을 겪고있다. 기존 프레임 워크를 사용하고 싶지 않습니다. 그건 단순히 나를위한 옵션이 아닙니다. 나는 일의 방식과 행동 방식을 이해해야하는 유형입니다. 그러나 포인터에 대한 기존 프레임 워크를 살펴 보았으나 지금까지 살펴 본 모든 것들이 대부분 혼란 스러웠습니다.

여기에 내 프레임 워크에 대해 고려해야 할 몇 가지 것들 :

  1. PHP 코드는 MySQL 서버에서 데이터를 반환하고 다시 JSON 형식으로 클라이언트 측에. 예를 들어 데이터베이스에 대한 Martin Scorsese 영화에 대한 쿼리는 다음과 같이 반환 할 수 있습니다.

    { totalRecords: 2, records: [{ title: 'The Departed', year: '2006' }, { title: 'Goodfellas', year: '1990' }] } 
    

    클라이언트 측에서이를 수신하고 구문 분석합니다.

  2. 유효하지 않은 로그인과 같이 데이터베이스에 대한 잘못된 호출 인 경우 유효한 HTTP 응답을 "false"(즉, 성공 콜백 호출)로 반환하거나 잘못된 HTTP 오류 메시지를 반환하는 것이 좋습니다 실패 콜백).

  3. PHP를 설치하는 방법을 잘 모르겠습니다. 각 유형의 MySQL 작업 (예 : "SELECT", "UPDATE", "DELETE"및 "INSERT")에 대해 하나의 함수를 만들어야합니까? 함수 라이브러리이거나 클래스에 모두 포함되어 있어야합니까? 어떤 이유로 여러 클래스 또는 일종의 클래스 계층 구조가 필요합니까? 데이터 액세스의 우수 사례는 무엇입니까?

  4. jQuery의 ajax 함수를 사용하여 클라이언트 측에서 서버 측으로 호출하여 JSON 문자열을 검색 한 다음 구문 분석했습니다. 성공 콜백 함수는 JSON 형식 문자열을받는 성공적인 호출에서 호출됩니다. 여기에서 나는 할 일을 거의 모른다. 반환 된 JSON 문자열을 JSON을 구문 분석하고 결과를 표시하기 위해 HTML 형식의 테이블과 같은 것을 반환하는 일종의 함수로 보내려고합니다. 그러나 클래스 계층을 설정하는 방법을 모르겠습니다.

  5. 직장 상사가 이런 걸 보이는 계층 구조에 대해 나에게 이야기했다

    : 너무 많은 조각이 데이터 등 필요한 이유 그러나

Diagram, though I am not completely sure how it works

을, 나는 완전히 확실하지 않다 -Connector, Adapter, Manager/Provider, Controller 및 View. 나는 그 중 일부가 필요 하겠지만 모든 것이 필요하지 않을 것이라고 확신한다. 또한 클래스 구조를 설정하는 것이 가장 좋은 방법이 무엇 인지도 확신하지 못한다. MVC 접근 방식에 대해서는 다소 새로운 점에 유의하십시오.

코드는 가능한 한 추상적이고 재사용 가능해야합니다. 현재 나는 스파게티 코드 톤을 가지고 있는데, 그것은 내면에서 울부 짖는다. '- (

어 ... 이것은 현재 내가있는 곳입니다. 제가 도움이 될 것 같으면 어떤 도움이라도 대단히 감사하겠습니다. 잃어버린 강아지는 그것을 얻지 못하고 내가 작성한 코드는 조잡하고 사용하기 쉽지 않거나 유지 보수가 가능 해지고 있습니다. 당신이 사용하는 자신의 프레임 워크에 대한 통찰력을 제공하거나 내 오랜 포스트를 읽고 내 자신의 것을 평가할 시간이 있다면, 내가 다른 방식으로 생각하게 만들 수있는 의견은 매우 높이 평가 될 것입니다. :-)

+0

http://programmers.stackexchange.com에서 질문 하시겠습니까? – Problematic

+2

"일들이 어떻게 작동하고 그들이하는 일을 이해할 필요가 있습니다."그리고 그것은 기존의 프레임 워크에서는 불가능합니다. – DrColossos

답변

3

이 책의 내용 : 디자인 패턴과 비슷한 내용의이 책을 읽으십시오. 기존 오픈 소스 프레임 워크를 다시 방문하고 질문하십시오. 나는 개인적인 경험을 통해 복잡한 프로젝트의 연구와 디자인이 코딩되기 전에 낭비한다는 것을 안다. 당신이 이것으로부터 아무것도 생산하지 않더라도 당신은 유용한 것을 배웠을 것입니다.

+0

+1 "연구 및 디자인 전에 코딩 [...]은 낭비입니다" – Xeoncross

1

나는 당신의 목표가 당신 자신의 프레임 워크를 만드는 것이라고 이해하지만, 시작하기 전에 현재의 모든 주요 플랫폼을 실제로 어떻게 작동하는지 그리고 특정 디자인 결정이 왜 이해해야하는지에 대한 수준으로 연구해야한다고 제안하고 싶습니다. 만들어졌습니다. 각 디자인 옵션은 프로와 콘을 가지고 있으며 프레임 워크를 디자인하는 것은 올바른 타협을 만드는 훌륭한 기술입니다.

관련 문제