Home >Backend Development >PHP Tutorial >Simple example and implementation steps of implementing WebService in PHP, webservice example_PHP tutorial

Simple example and implementation steps of implementing WebService in PHP, webservice example_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:00:06824browse

A simple example and implementation steps for implementing WebService in PHP, webservice example

I struggled with the issue of webservice for a long time some time ago. I originally wanted to write it in the thinkphp framework, but It can't be realized no matter what. So far, I have only learned the development of interfaces without a framework.

Share the steps in this resource:

First the files I created are:

api.php api interface class file

api.wsdl The interface file I created to be called last

cometrue.php is the execution file that registers all content of the service api class

creat_wsdl.php creates the execution method file of wsdl file

SoapDiscovery.class.php soap class file that must be called (can be queried and downloaded online)

Step one: Create a service folder specifically to store your api interface project

Step 2: Download the SoapDiscovery.class.php class file and place it in your service folder

Step 3: Create your own api interface class file api.php under the service folder. An example of the file content is as follows:
Copy code The code is as follows:
class api{
//My test interface method
Public function test(){
         return "hello world";
}
}
?>

Okay, after we finish writing our interface, we start to generate the wsdl file about this interface

Part 4: Write an execution program that generates wsdl files. Here I will create a new file creat_wsdl.php, which is also placed under the directory of the same level as service. The content is as follows:
Copy code The code is as follows:
include("api.php");
include("SoapDiscovery.class.php");
$disc = new SoapDiscovery('api','service');//api class file name, service interface directory
$disc->getWSDL();
?>

Step 5: Execute the creat_wsdl.php file

Then, there is an api.wsdl file under the service folder, as shown in the figure below:

It’s not over yet~

Step 6: Register all methods in the api class file. Create a new executable file of the registration class file under the service folder and name it: cometrue.php. The file content is as follows:
Copy code The code is as follows:
$server = new SoapServer('api.wsdl', array('soap_version' => SOAP_1_2)); ##The Service.wsdl file here is generated above
$server->setClass("api"); //Register all methods of the Service class
$server->handle();
?>

After the construction is completed, execute the file. At this time, all the contents in the class file have been registered. Let’s test this interface

Step 7: At the bottom of the api class file api.php, add the calling program, and then add the api.php file content as follows:
Copy code The code is as follows:
class api{
//My test interface method
Public function test($a){
         return $a;
}
}
$server = new SoapServer('api.wsdl', array('soap_version' => SOAP_1_2)); ##The Service.wsdl file here is generated above
$server->setClass("api"); //Register all methods of the Service class
$server->handle();
?>

Step 7: Test, create a test file in a random location outside the service (as long as it can be accessed) and name it: test.php. The content of the file is as follows:
Copy code The code is as follows:
$x = new SoapClient("http://rbac.local/service/api.php?wsdl"); //Replace the link here with your own access link
echo $x->test('ok');
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/974675.htmlTechArticleA simple example and implementation steps for PHP to implement WebService. The webservice example has been struggling with the issue of webservice for a long time. , I originally wanted to write it in the thinkphp framework, but how...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn