PHP 인터페이스에 대한 첫 소개

不言
풀어 주다: 2023-03-23 06:20:02
원래의
7164명이 탐색했습니다.

이 글은 PHP 인터페이스의 내용을 소개합니다. 이제 도움이 필요한 친구들에게 공유하고 함께 살펴보세요

1 인터페이스는 요청자에 따라 두 가지로 나눌 수 있습니다. 유형:
  하나는 다른 내부 프로젝트(js 비동기 요청 인터페이스 및 타이머 포함)에서 호출되는 인터페이스입니다.
 다른 하나는 주로 외부 개발자의 호출을 위해 제공되는 외부 인터페이스입니다.
 
  두 인터페이스의 가장 큰 차이점은 내부 인터페이스에는 엄격한 인증이 필요하지 않지만 외부 인터페이스에는 다양한 암호화 및 암호 해독 방법이 있으며 가장 일반적이고 간단한 방법은 우리와 같은 http 기본 인증입니다. 백그라운드에서 팝업되는 계정 및 비밀번호 팝업창은 기본 인증을 사용하며, 인증을 통과하려면 계정과 비밀번호를 입력해야 합니다. 그러나 내부 인터페이스에 중요한 작업이 포함되어 있고 다른 사람의 악의적인 요청을 원하지 않는 경우에도 일부 암호화 확인을 수행해야 합니다.
 
2. 어떤 인터페이스이든지 다음 사항을 고려해야 합니다.
1. 매개변수 안전성: 이를 위해 기본적으로 충분할 $_INPUT이 있습니다. 인증이 필요한지 여부: 단지 내부 알림 클래스/콜백 클래스의 인터페이스라면 악의적으로 요청하더라도 정상적인 데이터에는 전혀 영향을 미치지 않습니다. 주문 상태를 동기화하는 인터페이스를 만들겠습니다. 내부 프로세스는 문제가 있는 주문 상태를 쿼리한 다음 해당 주문의 상태를 업데이트하는 것입니다. 이런 인터페이스는 어떤 값도 반환할 필요가 없고, 나쁜 사람이 악의적으로 호출하더라도 영향을 받지 않으므로 인증을 전혀 수행할 필요가 없습니다. 따라서 검증 추가 여부는 인터페이스의 실제 로직에 따라 결정됩니다.

2. 다시 요청해 주실 수 있나요? 예를 들어, 인터페이스가 들어오는 주문 번호를 기반으로 데이터 조각을 삽입하는 경우 여러 데이터 조각이 삽입되지 않도록 반복되는 요청에 대해 판단해야 합니다.

3. 인터페이스 사양 작성
1. try...catch... 구조를 사용하여 작성합니다. (중요한 점은 던지기가 언제든지 프로그램을 종료할 수 있다는 점입니다~)
2. 상태 코드를 반환합니다. 문서를 작성하려면 성공을 반환하지 마세요. 호출자가 오류 이유를 문의할 수 있도록 다양한 오류 코드도 명확하게 작성해야 합니다.
아래 밤나무를 직접 보세요:

<?php
    $code = 200; // 接口状态码 

    $name = trim($_INPUT[&#39;name&#39;]);    $age  = trim($_INPUT[&#39;age&#39;]);    if (empty($name))
    {        $code = 401;        throw new Exception(&#39;名字不能为空&#39;);
    }    if (!is_numeric($age))
    {        $code = 402;        throw new Exception(&#39;年龄必须由数字组成&#39;);
    }    $database_obj = new database_class();    $res = $database_obj->save($name, $age);    if ( !$res )
    {        $code = 403;        throw new Exception(&#39;保存数据失败&#39;);
    }    
        $msg = &#39;ok&#39;;
    } catch ( Exception $e ) {        $msg = $e->getMessage();
    }
output_json($code,$data,$msg); // $data可以放置需要返回的数据// output_json函数在大function里面有~如果不想引入大function的话可以复制一份到自己项目// ========END=======?>
로그인 후 복사
로그인 후 복사

재인쇄: https://www.cnblogs.com/xiaomendelu/p/5819708.html

1 인터페이스는 요청자에 따라 두 가지 유형으로 나눌 수 있습니다.
하나는 다른 내부 프로젝트(js 비동기 요청 인터페이스 및 타이머 포함)에서 호출되는 요청자 인터페이스입니다.
 다른 하나는 주로 외부 개발자의 호출을 위해 제공되는 외부 인터페이스입니다.
 
  두 인터페이스의 가장 큰 차이점은 내부 인터페이스에는 엄격한 인증이 필요하지 않지만 외부 인터페이스에는 다양한 암호화 및 암호 해독 방법이 있으며 가장 일반적이고 간단한 방법은 우리와 같은 http 기본 인증입니다. 백그라운드에서 팝업되는 계정 및 비밀번호 팝업창은 기본 인증을 사용하며, 인증을 통과하려면 계정과 비밀번호를 입력해야 합니다. 그러나 내부 인터페이스에 중요한 작업이 포함되어 있고 다른 사람의 악의적인 요청을 원하지 않는 경우에도 일부 암호화 확인을 수행해야 합니다.
 
2. 어떤 인터페이스이든지 다음 사항을 고려해야 합니다.
1. 매개변수 안전성: 이를 위해 기본적으로 충분할 $_INPUT이 있습니다. 인증이 필요한지 여부: 단지 내부 알림 클래스/콜백 클래스의 인터페이스라면 악의적으로 요청하더라도 정상적인 데이터에는 전혀 영향을 미치지 않습니다. 주문 상태를 동기화하는 인터페이스를 만들겠습니다. 내부 프로세스는 문제가 있는 주문 상태를 쿼리한 다음 해당 주문의 상태를 업데이트하는 것입니다. 이런 인터페이스는 어떤 값도 반환할 필요가 없고, 나쁜 사람이 악의적으로 호출하더라도 영향을 받지 않으므로 인증을 전혀 수행할 필요가 없습니다. 따라서 검증 추가 여부는 인터페이스의 실제 로직에 따라 결정됩니다.

2. 다시 요청해 주실 수 있나요? 예를 들어, 인터페이스가 들어오는 주문 번호를 기반으로 데이터 조각을 삽입하는 경우 여러 데이터 조각이 삽입되지 않도록 반복되는 요청에 대해 판단해야 합니다.

3. 인터페이스 사양 작성
1. try...catch... 구조를 사용하여 작성합니다. (중요한 점은 던지기가 언제든지 프로그램을 종료할 수 있다는 점입니다~)
2. 상태 코드를 반환합니다. 문서를 작성하려면 성공을 반환하지 마세요. 또한 호출자가 오류 이유를 쉽게 문의할 수 있도록 다양한 오류 코드를 명확하게 작성해야 합니다.
아래 밤나무를 직접 보세요:

<?php
    $code = 200; // 接口状态码 

    $name = trim($_INPUT[&#39;name&#39;]);    $age  = trim($_INPUT[&#39;age&#39;]);    if (empty($name))
    {        $code = 401;        throw new Exception(&#39;名字不能为空&#39;);
    }    if (!is_numeric($age))
    {        $code = 402;        throw new Exception(&#39;年龄必须由数字组成&#39;);
    }    $database_obj = new database_class();    $res = $database_obj->save($name, $age);    if ( !$res )
    {        $code = 403;        throw new Exception(&#39;保存数据失败&#39;);
    }    
        $msg = &#39;ok&#39;;
    } catch ( Exception $e ) {        $msg = $e->getMessage();
    }
output_json($code,$data,$msg); // $data可以放置需要返回的数据// output_json函数在大function里面有~如果不想引入大function的话可以复制一份到自己项目// ========END=======?>
로그인 후 복사
로그인 후 복사

재인쇄: https://www.cnblogs.com/xiaomendelu/p/5819708.html

관련 추천:

PHP 인터페이스 프로그래밍에 대한 자세한 설명

PHP 인터페이스는 어떤가요? 올바른 사용

위 내용은 PHP 인터페이스에 대한 첫 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿