On the third week of my new job, I have been working on .Net for more than 3 years, and I suddenly made a sharp turn while working on PHP. I drifted around the corner at a speed of 180 mph
Due to data integration, we have to use PHP to call WCF in the project
I am totally confused, there is very little relevant information on the Internet. I posted a post on phpChina, but no one has responded yet. It seems that the blog garden is my forever home
Thanks to Master dudu for his tireless reply and help, Thanks
==========The following is the text================
Calling WCF using PHP is very simple, all the process requires only two words, please be careful
1. Preparation:
1.soap.dll
Check if there is ext in the PHP installation package php_soap.dll [It is automatically integrated by PHP and will usually exist. If it does not exist, you can download it online]
2. Modify the php.ini file
After confirming the first step, continue to find the PHP configuration file. Since everyone’s environment is different, for example, some use an integrated development environment and install it with one click
Some students install it separately by themselves, and the location of php.ini may be different. The approach at this time is to use phpinfo() to check
After finding the file, open the file,
Found
;extension=php_soap.dll
This line, and then remove the preceding semicolon.
If you don’t find this line, don’t worry, you can also add it manually.
3. Restart apach
2. Call WCF
After completing the above 123 steps, our preparations are complete, and the next step is to write the code
Assuming everyone knows WCF and has a basic knowledge of PHP
1. Publish a WCF for calling
The following are two methods of WCF
public string SayHello()
{
return "Hello World";
}
public string GetData(string value)
{
−_
2.PHP side call
$wcfURL = 'http://192.168.3.102/Service1.svc?wsdl';//[This is the address of WCF]
$wcfClient = new SoapClient ( $wcfURL );
$result1 = $wcfClient->SayHello ();
echo '
';
The above PHP code should normally output as follows
stdClass Object ( [SayHelloResult] => Hello World )
Hello World
The first method was called successfully
We continue to call methods with parameters
At this time, you must use the WCF test client to test WCF
See my initial WCF method, the parameter is GetData(string value), and t is shown here. This is because a colleague wrote it for me in WCF. He was lazy and wrote GetData(string t directly when defining it. ). For this laziness, I paid a lot of code for a full 10 minutes!
Details link: http://q.cnblogs.com/q/71331/
The following is the modified PHP code
$args = array('t' => '312'); $wcfClient->GetData($args);<br>echo $result->GetDataResult;<br>echo '<br>';<br>print_r ( $result );
The above normal output should be
You entered is :312
stdClass Object ( [GetDataResult] => You entered is : 312)
The above completes PHP's call to WCF. Of course, some friends will ask about more advanced ones, such as taking the entire class as a parameter, returning a class, etc....... ...To put it bluntly, I haven’t played to that advanced level yet..
Thank you again dudu
The following is a reference article: http://blog.csdn.net/love__coder/article/details/6067611
http://www.cnblogs.com/tianbang/archive/2012/05/07/2489149.html
The above has introduced a summary of PHP calling WCF, including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.