2013-10-22 4 views
0

JSON 및 PHP를 사용하여 데이터베이스에서 데이터를 다운로드하는 iOS 및 Android 앱이 있습니다. 기본적으로 내 MySQL 데이터베이스에서 데이터를 반환하는 많은 MySQL 쿼리. 이 프로젝트를 시작했을 때 모든 쿼리를 포함하는 php 배열이 만들어졌습니다. 그런 다음 해당 쿼리 및 선택적으로 일부 변수에 액세스하기 위해 URL에 인덱스를 보냅니다.모바일 앱 다운로드 PHP가 포함 된 JSON

http://url.nl/script.php?index=1&var1=foo&var2bar 

작은 프로젝트에서 나쁘지 않았지만 좋은 프로그래밍이나 좋은 모델이 아니라는 것을 알았습니다.

  • APP을 모델 - 뷰 - 컨트롤러 - 스토어 모델과 응용 프로그램이 데이터를 필요로하는 경우 저장, 클래스는 URL을 통해 데이터를 요청하고 해당 URL을
  • 에 인덱스를 보내
  • :

    그래서 기본적으로는 다음과 같이 뭔가

  • PHP 스크립트는
  • 앱의보기 클래스가 어떤 방식으로 데이터를 표시하는 데이터를 반환
  • 이 앱 스토어 클래스 읽고 디코딩 데이터, 인덱스를 읽어 배열에 쿼리를 저장 실행 해, JSON 데이터를 인코딩 원했어.

그래서 데이터베이스에 액세스하고 데이터를 인코딩하고 반환하는 것 이외에 PHP로 많은 것을하지 않습니다.

내 응용 프로그램이 매우 커지고 점점 더 많은 쿼리를 사용하고 있으므로 새 버전에서 바로 작업하고 싶었습니다. 이 시나리오에서 PHP가 사용하는 좋은 모델은 무엇입니까?

전 웹 개발자가 아니기 때문에 모든 PHP 프로세스를 최소한으로 유지하려했지만 프로그래밍의 좋은 방법이 아니라는 것을 깨달았습니다.

+0

현재 웹 서비스를 API로 사용하여 데이터를 가져오고 저장하며 모든 데이터 처리를 수행합니다. 장치에서 실행되는 응용 프로그램 내에서) 또는 일부 처리를 웹 서비스로 이동하는 것은 응용 프로그램의 요구 사항에 따라 달라지는 아키텍처 선택입니다 ... 응용 프로그램이 무엇을하고 있는지 모르는 상태에서 처리해야하는 처리량을 말하기 란 불가능합니다.일반적으로 장치 측 리소스 소비 (처리, 메모리 사용 및 네트워크 활동)를 최소화하는 균형을 찾으려고합니다. – eggyal

+0

그 소리가 논리적으로 들립니다. 나는 단지 이런 종류의 일을위한 어떤 종류의 모델이나 예제가 있기를 바랬습니다. 쿼리를 저장하고 URL을 사용하여 앱에 액세스합니다. 지금 당장하고있는 일은 좋은 프로그래밍이 아닌 것처럼 보이지만 다시는 웹 개발자가 아닙니다. –

+1

[RESTful] 검색 (http://en.wikipedia.org/wiki/Representational_state_transfer). PHP의 예제는 [this] (http://coreymaynard.com/blog/creating-a-restful-api-with-php/) 일 수 있습니다. – bitWorking

답변

0

쿼리를 배열에 저장하는 대신 서버에서 RESTful API를 사용해야합니다. 그런 다음 서버에 GET 요청을 보내면 서버가이를 실행하고 원하는 데이터를 반환합니다. 그런 다음이를 읽고 디코딩 할 수 있습니다. (서버로 데이터를 보내고 업데이트 할 수도 있습니다).

PHP 용 REST Framworks가 많이 있지만, "Slim Framework"는 PHP를 잘 모르는 사람이라해도 이해하기 쉽기 때문에 사용했습니다.

자신의 웹 사이트에서이 예 :

$app = new \Slim\Slim(); 
$app->get('/hello/:name', function ($name) { 
    echo "Hello, $name"; 
}); 
$app->run(); 

이 가능하고 "안녕하세요 마크"를 반환 www.yourside.com/hello/Mark를 호출 할 수 있습니다. 5 줄의 코드. 그것은 굉장.

PHP 코드를 작성할 수 있습니다. MySQL 데이터베이스에서 데이터를 인코딩하려면이 자습서를 따르십시오. http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-slim-framework/ 그냥 JQuery 부분을 무시하십시오.

앱에서는 제공된 URL에서 데이터를 요청합니다. 나는 이것을 위해 AFNetworking을 사용한다. (자신의 페이지에서 "HTTP Request Operation Manager"를 찾아서 GET보세요)

관련 문제