# زبان های اسکریپتی > PHP >  ایجاد وب سرویس در سایت با زبان php

## masoomenoroozi

با سلام خدکت دوستان عزیزم

سایتم رو با زبان php نوشتم و بانک my sql
سایت دیگری  قراره به تعدادی از تیبل های بانک اطلاعاتی من به صورت محدود دسترسی داشته باشه .
گفته شده برای این کار بهترین روش استفاده از وب سرویس هست . ولی من اطلاع دقیقی از نوشتن کد وب سرویس ندارم . 
میشه از پایه راهنماییم کنید؟

----------


## omidabedi

راحت بگم
مثل خیلی از تاپیک ها و اموزشی ها نپیچونمت

وب سرویس در php 2 قسمته یکی سرور یکی کلاینت

سرور برای ارائه دهنده ی وب سرویس هست

و کلاینت برای هرکسیه که میخواد به سایت شما وصل بشه (وظیفه ی شما نیست که اینو بنویسید هرکسی میخواد وصل بشه باید بلد باشه,شما سرورید.نکته:اینکه برای نوشتن وب سرویس کلاینت نیاز به دونستند یه سری چیزاست از وب سرویس سرور که بهتون میگم در اخر که چگونه این اطلاعات رو بدید)

خب برای اینکار به این لینک مراجعه کن و توابع رو بخون

http://php.net/manual/en/refs.webservice.php

خب وب سرویس های مختلفی هست

اما من soap رو کار کردم و پبشنهاد میکنم چون هم کار باهاش راحتتره هم رایجتر

این تا اینجا 

طبق این داکیومنت سرور رو میسازی

حالا گفتم که برای وب سرور کلاینت نیاز هست که اطلاعاتی رو در اختیار برنامه نویسی که میخواد با وب سرویس کار کنه بدید

2 راه دارید:
1- اینکه اطلاعات رو بصورت نوشتاری بصورت داکیومنت بدید مثلا بگید فلان تابع رو بخون فلان پارامترهارو ارسال کن

2-میتونید یک فایل wsdl به معنی زبان توضیح وب سرویس (web service description language) بسازید.خب همونجور که از اسمش پیداست این فایل هیچ کاری نمیکنه رسما مثل یک فایل تکست هست فرض کنید

که میاد توضیح میده وب سرویس چه پارامترهایی رو میگیری چه توابعی داره چگونه خطا باز میگردونه و کلا اینارو توضیح میده که یه سری قواعد برا نوشتنش هست که از سایت weschools میتونید یاد بگیرید

دقیقا این فایل هیچ کاری نمیکنه و وب سرویس بدون اینم کار میکنه


پ.ن:من خودم توی این قسمت تجربه ی زیادی ندارم و شاید بشه از صحبت هام اشکال گرفت,مشکلی تداره بگیرید خوشال میشم بیشتر بدونم

پ.ن2:من خیلی برای یاد گیری این تلاش کردم و سایت ها دقیقا ادمو رو گیج میکنن بهترین کار اینه که بشینی از روی همون لینکی که بهتون دادم بخونید

پ.ن3:دوست عزیز اینجا بخش امنیت هست و ربطی به سوالتون نداره , جای درست مطرح کنید.

یک نکته ی امنیتی: حتما داده هایی رو که از طریق وب سرویس دریافت میکنید escape xssو escape sql injection روشون انجام بدید و بعد استفاده کنید

----------

