샘플 장 제 4 판의 제 23 장 사용자 정의 PHP 인터페이스 사양 (9) "PHP는 정교"

23.5.3 WebAPI 응용 프로그램 프레임 워크

프레임 워크는 애플리케이션 프레임 워크, 서비스 프로그램 전용 응용 프로그램, 아니 변화의 핵심시, 실제로 반제품 프로젝트입니다. 필요한 경우 물론, 그것은 또한 프로젝트의 필요에 따라 보조 개발 프레임 워크 될 수 있습니다. 이 섹션은 주로 우리의 프레임 워크는 WebAPI 완전한 대화 형 액세스를 기반으로합니다. 예를 들어, 간단한 수요가 지금있다, PHP의 클라이언트 프로그램은, 우리가 변화를 (사용자 도입이 장 앞부분의 테이블을 사용하여) 데이터베이스 사용자의 원격 테이블에 대한 API를 사용자 추가, 삭제해야합니다, 및 기타 작업.

우선, 우리는 통합 운영 모델을 통해 테이블을 관리하는 서버에서 사용자 테이블 수준의 운영 모델을 만들어야합니다. 물론, 데이터 모델에 나타난 기입 동작에 대한 액세스가 매우 "스마트"일 수 있고, 본 실시 예는 사용자 테이블 쉬운 방법의 동작에 의해 달성되는 효과를 완료한다. 프로젝트의 루트 디렉토리에서 "모델"디렉토리를 만들고, 각 테이블의 작동이 디렉토리에 별도의 집단 소송을 생성합니다. 수요는 단지 우리는 단지 디렉토리에 user.php 파일을 작성해야하고, 파일에 사용자 클래스를 선언, 사용자 테이블에 따라 작동해야합니다. 또한, 각 모델 클래스에 대한 데이터 테이블의 작업이 데이터베이스에 연결하는 데 필요한, 그것은 부모 클래스를 선언 할 수 있으며, 모든 일반 테이블 작업은 부모 클래스에 선언되어있다. 본 실시 예는 모델 model.php 루트 파일을 기반으로 만 일반적인 문제를 고려 데이터베이스를 운영 연결 코드를 다음과 같이 선언한다 :

9781c0680d4946c69acdc3389a272f4c.png

모든 데이터 모델의 상위 클래스로, 구성 파일이 config.php를 () 메소드를 연결로드하여 모델 클래스는 구성 정보가 모든 서브 클래스는이 메소드를 호출 할 수 있도록 데이터베이스에 따라 데이터베이스에 연결하고 데이터베이스의 연결 작업을 완료합니다. 우리는 모델 디렉토리에 생성 user.php 파일은 사용자 클래스의 문은 다음과 같이 코드는, 모델 클래스를 상속 :

在User类中只声明一些对表user进行增、删、改、查的操作方法,如果需要对其他表进行同样的操作,可以再声明一些同样的类文件。User类中的这些方法,可以在控制器中通过创建User类的对象直接进行访问。同样,每个业务操作流程也需要声明一个独立的控制器文件。控制器和其中的操作方法,是通过我们定义的框架,在路由表中和用户的操作请求绑定的。根据用户不同的操作请求,通过路由映射到控制器中对应的方法。按本例的需求,创建一个目录“controllers”,并在该目录下声明一个usercontroller.php文件,并在文件中声明一个UserController类,代码如下所示:

如果有其他的业务需求,可以按本类的格式,再继续添加新的控制器。在本类中声明一些通用操作方法,通过创建数据操作模型User类对象,对表user进行操作,将运行结果再通过Response类返给客户端。

有了控制器,下一步就需要编辑api.php文件中的路由表,将我们声明的接口发布出去。注册路由表信息如下所示:

f0b212a8a1f444c799b10a40835fd0fd.png

如果整个项目文件已经上传到Web根目录下,按RESTful API的要求,需要一个独立的域名空间。可以在本机进行简单测试,通过修改Windows系统下的hosts文件,添加一条记录,将域名api.itxdl.cn指定到本机“127.0.0.1”。打开“C:/Windows/System32/drivers/etc/hosts”文件,在最后一行加一条记录,如下所示:

a0be285db94f47fe92fc641e19934ff0.png

添加完成后直接保存即可生效,当然只能在本机测试使用。可以通过域名提供商购买,并将域名指向自己的服务器地址,也可以在Linux下通过配置DNS服务实现。现在访问API的URL为:

 

https://api.itxdl.cn/index.php/v1/资源名称?参数

   

 

편안하고 API 사양을 눌러뿐만 아니라 정문 파일의 index.php를 숨길 필요가있다. 이것은 웹 서버 아파치 URL 재 작성 확장 모듈에 의해 제공 될 수있다. (웹 문서 루트 디렉토리에이 경우) 파일의 index.php는 다음과 같이 파일 "htaccess로"의 내용을 구현하기위한 지침을 재 작성하는 몇 아파치 URL을 추가하는 "htaccess로"파일을 만들 때와 같은 디렉토리에 :

6e389995a3644c839a2340ef99f8b419.png

파일 편집 어디 당신이 할 수있는 경로를 추가 할 바로 세 번째 index.php를하기 전에, 아래의 웹 서버의 루트 디렉토리에하지 않을 경우 정문 파일을 적용하려면 웹 서버를 다시 시작하지 않고 완료되면. 이제 API의 URL에 액세스 :

 

https://api.itxdl.cn/v1/ 자원 이름? 매개 변수

   

 

클라이언트 액세스하는 경우, 당신은 또한 자세한 API 설명서를 제공해야합니다 있도록 이제 사용자 정의에 대한 간단한 API는 개발되었다. 당신은 문서를 관리 할 수 ​​www.showdoc.cc 플랫폼을 통해 계정에 가입 할 수 있습니다, 우리는 표 23-6에서와 같이 자신의 API 문서의 일부는 간단한 테이블에 의해 정의되는 물품.

표 23-6 API 문서의 자신의 정의

 

 

추천

출처www.cnblogs.com/itxdl/p/11489646.html