저는 여러 클라이언트 웹 사이트에 전원을 공급할 웹 응용 프로그램을 구축하고 있습니다. 또한 나머지 API도 포함됩니다. 내 고객의 PHP 웹 사이트에서 PHP 코드를 직접 호출하는 대신 API를 사용하게하는 것이 현명할까요? 웹 사이트가 서버에 없지만 이점이 보이지 않는 고객을 위해 배포가 더 쉬워 질 것이라고 들었습니다. 또한 코드를 보호하는 데 도움이된다고 들었습니다. 클라이언트가 기본 활성 레코드 모델에만 액세스 할 수 있기 때문에 이점이 표시되지 않습니다. 컬 사용에 문제가 없습니다. 내 문제는 그 순간에 모든 내 고객의 웹 사이트가 내 서버에서 요청을 처리하도록하는 것이 효율적이지 않다고 생각합니다. 서버가 그 요청을 채우기 위해 컬링 요청을 보내도록하는 것이 효율적이라고 생각하지 않습니다. 모든 의견을 크게 환영합니다.내 자신의 API를 사용하려면 컬을 사용해야합니까?
1
A
답변
2
PHP를 두 번 호출하는 오버 헤드가 발생한다고해도 이것은 훌륭한 모델이라고 생각합니다. 그 오버 헤드는 현실입니다!
그러나 API가 잘 작동하고 (예 : 전역, 슈퍼 글로발, php : // input, header() 등) 직접 요청/응답 객체로 빌드 한 경우 같은 PHP 코드를 로컬에서 호출하는 '가짜 HTTP 클라이언트'를 만들 수도 있습니다.
자신의 API를 사용하는 시스템을 만드는 것이 완벽합니다. 이러한 솔루션은 확장 성이 뛰어나며 잠재 고객이 사용하는 표준화 된 API를 사용할 수 있습니다. 그러나, 당신이 눈치 챘을 수도 있듯이, 그것은 직접적인 프로그래밍 질문이 아닌 설계 질문에 가깝기 때문에 집중력 부족으로 닫힐 수 있습니다. –
비슷한 프로그래머 .SE : [내 웹 인터페이스에 내 공개 API를 사용해야하나요?] (http://programmers.stackexchange.com/questions/302028/should-i-use-my-own-public-api-for -my-web-interface) – HPierce
말괄량이가 좋다. 클라이언트에게 API 호출을 둘러싼 래퍼 라이브러리를 제공하는 것이 더 좋다. 그런 식으로 사용자는 API의 메커니즘에 대해 알 필요가 없으며 변경 사항을 변경해야하는 경우 모든 클라이언트가 API에 의존하는 코드를 변경하는 대신 래퍼를 업데이트 할 수 있습니다. –