<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>DominixZ : Live Smart &#38; Geeky &#187; php</title> <atom:link href="http://www.dominixz.com/blog/tag/php/feed/" rel="self" type="application/rss+xml" /><link>http://www.dominixz.com/blog</link> <description>Productivity , Techology News ,Website Review , Web Standard , Live Smart and Geeky</description> <lastBuildDate>Wed, 08 Feb 2012 16:59:00 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>PHP เรียกใช้ Web Service ของ .NET ด้วยการส่งและรับ Object</title><link>http://www.dominixz.com/blog/programming-solution/php-call-dot-net-webservice-that-require-object-param/</link> <comments>http://www.dominixz.com/blog/programming-solution/php-call-dot-net-webservice-that-require-object-param/#comments</comments> <pubDate>Fri, 12 Sep 2008 07:40:44 +0000</pubDate> <dc:creator>DominixZ</dc:creator> <category><![CDATA[วิธีแก้ปัญหาเขียนโปรแกรม]]></category> <category><![CDATA[.net]]></category> <category><![CDATA[c#]]></category> <category><![CDATA[php]]></category> <category><![CDATA[web service]]></category><guid
isPermaLink="false">http://www.dominixz.com/blog/?p=436</guid> <description><![CDATA[จากเมื่อวานที่ผมได้รับมาตอนเย็น ให้ทำให้ PHP เรียก Web Service ของ .NET แล้วตามทฤษฎีนั้นเรียกได้อยู่แล้ว แต่คราวนี้ผมต้องมาลงมือจริงๆทำจริง โดยผมได้ลองทำ Web Service ของ .NET ต้องขอบอกว่าง่ายมากๆใช้เวลาเพียงแปป เดียวเท่านั้น (อันนี้ขอข้ามนะ) เสร็จแล้วมาถึงวิธีเีรียก คราวนี้และปัญหาซึ่งบทความใน Internet ไม่มีอันไหนโดนตรงใจผมสักอัน ลองถามใน Twitter ก็มีแต่คุณ pittaya ตอบมาแล้วบอกให้เชื่อมต่อผ่าน JSON แต่.. ผมลืมบอกเขาไปว่ามันเป็น SOAP เพราะตาม requirement แล้วผมจำเป็นต้องใช้ SOAP ดังนั้นพี่เขาก็เลยบอกให้ลอง nusoap ครับแต่ทว่า&#8230; ผมกำลังคิดในใจ (ไม่ได้บอกพี่เขา) ว่า NuSOAP มันไม่เก่าไปแล้วหรอ มันมี Library ให้เรียกใช้ทำไมต้องไปใช้ NuSOAP ??? ดังนั้นเพื่อตอบสนอง Need ของตัวเองผมเลยพยายามค้นหาวิธีโดยไม่ใช้ NuSOAP แล้วผมก็ทำได้ครับ อันนี้ใช้ Library [...]]]></description> <content:encoded><![CDATA[<p>จากเมื่อวานที่ผมได้รับมาตอนเย็น ให้ทำให้ PHP เรียก Web Service ของ .NET แล้วตามทฤษฎีนั้นเรียกได้อยู่แล้ว แต่คราวนี้ผมต้องมาลงมือจริงๆทำจริง โดยผมได้ลองทำ Web Service ของ .NET ต้องขอบอกว่าง่ายมากๆใช้เวลาเพียงแปป เดียวเท่านั้น (อันนี้ขอข้ามนะ) เสร็จแล้วมาถึงวิธีเีรียก คราวนี้และปัญหาซึ่งบทความใน Internet ไม่มีอันไหนโดนตรงใจผมสักอัน ลองถามใน Twitter ก็มีแต่คุณ pittaya ตอบมาแล้วบอกให้เชื่อมต่อผ่าน JSON แต่.. ผมลืมบอกเขาไปว่ามันเป็น SOAP เพราะตาม requirement แล้วผมจำเป็นต้องใช้ SOAP ดังนั้นพี่เขาก็เลยบอกให้ลอง nusoap ครับแต่ทว่า&#8230; ผมกำลังคิดในใจ (ไม่ได้บอกพี่เขา) ว่า NuSOAP มันไม่เก่าไปแล้วหรอ มันมี Library ให้เรียกใช้ทำไมต้องไปใช้ NuSOAP ???</p><p>ดังนั้นเพื่อตอบสนอง Need ของตัวเองผมเลยพยายามค้นหาวิธีโดยไม่ใช้ NuSOAP แล้วผมก็ทำได้ครับ อันนี้ใช้ Library ที่ติดมาใน PHP เลยครับ โดยขั้นตอนแรกต้องไปเอา comment ของ php_soap.dll ออกจาก php.ini ก่อนครับโดยถ้าใครใช้ AppServ ก็จะอยู่ใน WINDOWS\php.ini แล้วก็เปลี่ยนจาก ;php_soap.dll เป็น php_soap.dll เอา ; ออกนั้นเอง เสร็จแล้วมาเริ่มกันเลยครับ</p><p>&lt;s:element name=&#8221;sendObject&#8221;&gt;<br
/> &lt;s:complexType&gt;<br
/> &lt;s:sequence&gt;<br
/> &lt;s:element minOccurs=&#8221;0&#8243; maxOccurs=&#8221;1&#8243; name=&#8221;gc&#8221; type=&#8221;tns:GuestCounts&#8221;/&gt;<br
/> &lt;/s:sequence&gt;<br
/> &lt;/s:complexType&gt;<br
/> &lt;/s:element&gt;</p><p
style="text-align: center;"><strong>Complex Type 1.0</strong></p><p>&lt;s:complexType name=&#8221;GuestCounts&#8221;&gt;<br
/> &lt;s:sequence&gt;<br
/> &lt;s:element minOccurs=&#8221;1&#8243; maxOccurs=&#8221;1&#8243; name=&#8221;AgeQualifyingCode&#8221; type=&#8221;s:int&#8221;/&gt;<br
/> &lt;s:element minOccurs=&#8221;1&#8243; maxOccurs=&#8221;1&#8243; name=&#8221;Count&#8221; type=&#8221;s:int&#8221;/&gt;<br
/> &lt;/s:sequence&gt;<br
/> &lt;/s:complexType&gt;</p><p
style="text-align: center;"><strong>Complex Type 1.1</strong></p><p
style="text-align: center;"><strong>อันนี้เป็น Complex Type นะครับคืออะไรลองศึกษากันเองครับ</strong></p><p>$client = new SoapClient(&#8220;http://localhost/HotelService.asmx?WSDL&#8221;);<br
/> $wrapper-&gt;gc-&gt;Count = 10;<br
/> $wrapper-&gt;gc-&gt;AgeQualifyingCode = 50;<br
/> $params = new SoapParam($wrapper, &#8220;sendObject&#8221;);<br
/> var_dump($client-&gt;sendObject($params));</p><p
style="text-align: center;"><strong>อันนี้คือส่วน Code ที่ใช้ครับ</strong></p><p>code จริงๆก็ประมาณนี้เองครับ แต่อธิบายยากนะจะบอกให้ อิอิ โดยบรรทัดแรกนั้นเป็นการสร้าง SoapClient จาก WSDL ครับผมโดยอันนี้สังเกตุได้ว่าผมจะเติม ?WSDL ด้วยเพราะเจ้า WebService ของ .NET ปกติมันไม่้ได้ทำออกมาเป็น WSDL ซึ่งเราสามารถเล่นกับ WebService ก่อนได้ครับ เช่น มี Method ที่รับ Int แล้ว Return String เราก็สามารถลองใส่ Int เล่นๆได้ครับแล้วกดเพื่อดูผลลัพธ์ได้เลย<br
/> <br/><br
/> มาดูบรรทัดที่ 2 กับ 3 ครับ เราจะทำการสร้าง Array Structure ลอยๆขึ้นมาก่อนครับเพื่อให้ถูกต้องตาม Complex Type นั้นในที่นี้ผมเลยสร้างชื่อ $wrapper-&gt;gc ต้องเป็นชื่อ gc นะครับดูจาก Complex type 1.0 จะเห็นว่า name=&#8221;gc&#8221; อันนี้ต้องตั้งชื่อตามเขา ทุกๆ Variable (ส่วนคำว่า $wrapper เปลี่ยนได้) เลยเลยสรุปเป็น $wrapper-&gt;gc-&gt;Count ดูจาก Complex type 1.1 จะเห็นได้ว่า name=&#8221;Count&#8221; ซึ่งต้องเหมือนกันเปะๆ ทำเสร็จแล้วคราวนี้เราจะได้ Array Structure ที่ตรงกับ Complex Type แล้ว<br
/> <br/><br
/> ต่อมาดูบรรทัดที่ 4 ครับผมทำการสร้างตัวแปรชื่อ $params ให้เท่ากับ SoapParam($wrapper,&#8221;sendObject&#8221;); อันนี้และครับพระเอกของงานนี้ โดยเจ้า SoapParam เนี้ยมันจะทำการ Map ตัวแปร $wrapper กับ element name=&#8221;sendObject&#8221; ดูได้จาก Complex Type 1.0 นั้นหมายความว่าตอนนี้เราจะได้ $params ที่พร้อมจะส่งข้อมูลเป็น object แล้ว<br
/> <br/><br
/> บรรทัดที่ 5 ก็เป็นการเรียก WebService ในคำสั่งที่ว่า $client-&gt;sendObject($params) แบบนี้ส่วน var_dump คือการ dump ตัวแปรออกมาดูว่าข้างในมีอะไรบ้างซึ่งผลลัพธ์จะแล้วแต่คนทำ Business Logic ใน WebService นะครับโดยผมจะได้ดังนี้<br
/> <br/><p
style="text-align: center;margin-top:10px;margin-bottom:10px;">object(stdClass)#3 (1) {   ["sendObjectResult"]=&gt;   int(20) }</p><p
style="text-align: center;"><p><br/><p
style="text-align: left;">จริงๆแล้วผลลัพธ์ที่ผมได้ออกมาเป็น 20 นั้นสาเหตุคือ ผมให้มัน return 10+gc.Count แล้วผมใส่ gc.Count เป็น 10 เลยได้ออกมาเป็น 20 อย่างที่เห็นครับผม ส่วนถ้าใครต้องการข้อมูล 20 เลยนั้นต้องเรียกแบบนี้ครับ</p><p><br/></p><p
style="text-align: left;"><p
style="text-align: center;margin-top:10px;margin-bottom:10px;">echo $client-&gt;sendObject($params)-&gt;sendObjectResult // ผลลัพธ์ที่ได้คือ 20</p><p
style="text-align: center;"><p><br/><p
style="text-align: left;">อันนี้คือตามหลักของ SOAP นะครับก็คือจะมีทั้ง Request Response ก็ต้องยอมๆเขาไปครับ สังเกตุนะครับว่าไม่มีวงเล็บ เพราะมันเป็นการเรียกข้อมูล variable นะครับไม่ใช่เรียก method วันนี้ผมก็นำมา share ให้คนที่มีปัญหาเรื่องนี้ทำกันนะครับ ส่วนเรื่อง return เป็น object นั้นไม่ต้องทำอะไรเลยครับ มันก็จะ return มาเป็น เหมือน Array Structure นะครับเอาไปเรียกใช้ได้ตามสะดวกเลยครับพี่น้องครับ วันนี้ผมลาไปก่อนแล้วนะครับ สวัสดีครับ</p> Similar Posts:<ul><li><a
href="http://www.dominixz.com/blog/programming-solution/clean-tag-html-with-jquery/" rel="bookmark" title="July 19, 2008">ทำความสะอาด Tag Html ด้วย jQuery</a></li><li><a
href="http://www.dominixz.com/blog/review/software/ixedit-easy-to-do-interaction-ria-with-jquery-and-jquery-ui/" rel="bookmark" title="July 15, 2010">IxEdit ใครจะคิดว่าทำ RIA หรือ Interaction จะง่ายดายเพียงนี้</a></li><li><a
href="http://www.dominixz.com/blog/programming-solution/how-to-get-share-count-link-on-facebook/" rel="bookmark" title="June 25, 2011">Facebook API สำหรับดู Share Count ของ Link</a></li></ul>]]></content:encoded> <wfw:commentRss>http://www.dominixz.com/blog/programming-solution/php-call-dot-net-webservice-that-require-object-param/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>แจก PHP Class DidYouMean คุณหมายถึง ของ Google</title><link>http://www.dominixz.com/blog/programming-solution/php-class-did-you-mean-google-spell-check/</link> <comments>http://www.dominixz.com/blog/programming-solution/php-class-did-you-mean-google-spell-check/#comments</comments> <pubDate>Tue, 08 Jul 2008 17:06:20 +0000</pubDate> <dc:creator>DominixZ</dc:creator> <category><![CDATA[วิธีแก้ปัญหาเขียนโปรแกรม]]></category> <category><![CDATA[class]]></category> <category><![CDATA[codeigniter]]></category> <category><![CDATA[did you mean]]></category> <category><![CDATA[google]]></category> <category><![CDATA[google spell check]]></category> <category><![CDATA[php]]></category> <category><![CDATA[คุณหมายถึง]]></category><guid
isPermaLink="false">http://www.dominixz.com/blog/?p=268</guid> <description><![CDATA[Google ไม่ยอมทำ API หรือ WebService ให้ผมแต่ผมต้องการข้อมูลตรง Did You mean หรือคุณหมายถึง &#8230; ต่างๆเหล่านี้ผมก็เลยจัดการทำ Class ง่ายๆที่ไป file_get_contents มาเสร็จแล้วก็มาใส่ preg_match ธรรมดาโดยจะเอาเฉพาะส่วนตรง คำพูดหลังคำว่า Did you mean หรือ คุณหมายความว่ามา แต่ตัว Class นี้ยังไม่สมบูรณ์ ซึ่งคุณสามารถนำไปพัฒนาต่อได้นะครับ แต่ผมว่าแค่นี้ก็ทำงานได้ดีละ ผมเลยเอามาเผยแพร่ซะโดยดังนี้เลยครับ โดยคุณสามารถ Download ไปใช้ได้ฟรีครับ Download ได้เลยที่นี้ โดยจริงๆแล้วผมจะเอา Code นี้ไปใช้ใน Jersure แต่ผมคิดว่ามีหลายคนที่ยังอยากใช้เจ้าตัวนี้ ผมเลยนำมาเผยแพร่ต่ออีกที โดยวิธีใช้ก็ง่ายๆครับดังนี้ var_dump(DidYouMeanSuggest::getSuggestWords(&#8220;คำที่ต้องการ&#8221;)); ง่ายไหมครับ ไม่ต้อง new Class ด้วยซ้ำไปสำหรับใครที่ใช้ CodeIgniter ก็นำไปใส่ใน library แล้วก็ load-&#62;library(&#8216;DidYouMeanSuggest&#8217;) มาได้เลยครับวันนี้ผมก็ลาไปก่อนแล้วครับแว๊บบบ ~~ [...]]]></description> <content:encoded><![CDATA[<p>Google ไม่ยอมทำ API หรือ WebService ให้ผมแต่ผมต้องการข้อมูลตรง Did You mean หรือคุณหมายถึง &#8230; ต่างๆเหล่านี้ผมก็เลยจัดการทำ Class ง่ายๆที่ไป file_get_contents มาเสร็จแล้วก็มาใส่ preg_match ธรรมดาโดยจะเอาเฉพาะส่วนตรง คำพูดหลังคำว่า Did you mean หรือ คุณหมายความว่ามา แต่ตัว Class นี้ยังไม่สมบูรณ์ ซึ่งคุณสามารถนำไปพัฒนาต่อได้นะครับ แต่ผมว่าแค่นี้ก็ทำงานได้ดีละ ผมเลยเอามาเผยแพร่ซะโดยดังนี้เลยครับ โดยคุณสามารถ Download ไปใช้ได้ฟรีครับ</p><p><a
title="Did you mean google suggest PHP Class" href="http://dominixz.com/blog/files/didyoumeansuggest.php.txt" target="_blank">Download ได้เลยที่นี้</a></p><p>โดยจริงๆแล้วผมจะเอา Code นี้ไปใช้ใน Jersure แต่ผมคิดว่ามีหลายคนที่ยังอยากใช้เจ้าตัวนี้ ผมเลยนำมาเผยแพร่ต่ออีกที โดยวิธีใช้ก็ง่ายๆครับดังนี้</p><blockquote><p>var_dump(DidYouMeanSuggest::getSuggestWords(&#8220;คำที่ต้องการ&#8221;));</p></blockquote><p>ง่ายไหมครับ <img
src='http://www.dominixz.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ไม่ต้อง new Class ด้วยซ้ำไปสำหรับใครที่ใช้ CodeIgniter ก็นำไปใส่ใน library แล้วก็ load-&gt;library(&#8216;DidYouMeanSuggest&#8217;) มาได้เลยครับวันนี้ผมก็ลาไปก่อนแล้วครับแว๊บบบ ~~ สนับสนุนคนไทยอย่างผมด้วยการ comment นะงับ</p> Similar Posts:<ul><li><a
href="http://www.dominixz.com/blog/programming-solution/php-call-dot-net-webservice-that-require-object-param/" rel="bookmark" title="September 12, 2008">PHP เรียกใช้ Web Service ของ .NET ด้วยการส่งและรับ Object</a></li><li><a
href="http://www.dominixz.com/blog/review/software/codeigniter-is-not-a-good-framework/" rel="bookmark" title="March 10, 2009">CodeIgniter ไม่ใช่ Framework ที่ดี !</a></li><li><a
href="http://www.dominixz.com/blog/tech-news/how-google-index-content-in-flash/" rel="bookmark" title="July 8, 2008">เมื่อ Google ค้นหาจาก Flash ได้แล้ว !!</a></li></ul>]]></content:encoded> <wfw:commentRss>http://www.dominixz.com/blog/programming-solution/php-class-did-you-mean-google-spell-check/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic (User agent is rejected)
Database Caching using disk: basic

Served from: www.dominixz.com @ 2012-02-10 05:30:47 -->
