<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF74-75%3APHP1</id>
		<title>LXF74-75:PHP1 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF74-75%3APHP1"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF74-75:PHP1&amp;action=history"/>
		<updated>2026-05-13T09:06:13Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF74-75:PHP1&amp;diff=5821&amp;oldid=prev</id>
		<title>Yaleks: /* Хадзилла возвращается */</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF74-75:PHP1&amp;diff=5821&amp;oldid=prev"/>
				<updated>2008-12-06T13:12:23Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Хадзилла возвращается&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 13:12, 6 декабря 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 184:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 184:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;например, выделяет найденные слова&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;например, выделяет найденные слова&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;жирным шрифтом. Некоторые web-сайты&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;жирным шрифтом. Некоторые web-сайты&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;используют &amp;amp;gt;, так что нам также придется конвертировать их в символы (&amp;gt;,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;используют &amp;amp;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;amp;&lt;/ins&gt;gt;, так что нам также придется конвертировать их в символы (&amp;gt;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;в данном случае), а также выкинуть все&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;в данном случае), а также выкинуть все&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;тэги, которые не предназначены для прямого вывода на экран.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;тэги, которые не предназначены для прямого вывода на экран.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Yaleks</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF74-75:PHP1&amp;diff=5819&amp;oldid=prev</id>
		<title>Yaleks: викификация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF74-75:PHP1&amp;diff=5819&amp;oldid=prev"/>
				<updated>2008-12-06T12:58:09Z</updated>
		
		<summary type="html">&lt;p&gt;викификация&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 12:58, 6 декабря 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Разбираемся с Google API ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Разбираемся с Google API ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''«Тру-ля-ля, тра-ля-ля», &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;– &lt;/del&gt;напевал '''Пол Хадсон''' (Paul Hudson), впервые за этот год раздобыв кусочек МЫЛА и отправляясь в ванную подумать о WSDL.''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''«Тру-ля-ля, тра-ля-ля»,&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; — &lt;/ins&gt;напевал '''Пол Хадсон''' (Paul Hudson), впервые за этот год раздобыв кусочек МЫЛА и отправляясь в ванную подумать о WSDL.''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Ostagazuzulum! Нет, я не стучу от нечего делать по клавиатуре и не начитался Гарри Поттера. В свое время, компания&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Ostagazuzulum! Нет, я не стучу от нечего делать по клавиатуре и не начитался Гарри Поттера. В свое время, компания&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;BBC выпускала изумительную программу для &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;детей – &lt;/del&gt;Wizbit.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;BBC выпускала изумительную программу для &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;детей — &lt;/ins&gt;Wizbit.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Главная роль в ней была отведена большой желтой волшебной шляпе &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;–&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Главная роль в ней была отведена большой желтой волшебной шляпе &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Wizbit, которая умела летать и совершать волшебство. Нереально, я&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Wizbit, которая умела летать и совершать волшебство. Нереально, я&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;знаю. У Wizbit было два основных заклинания: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;“Ostagazuzulum” &lt;/del&gt;(это&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;знаю. У Wizbit было два основных заклинания: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;«Ostagazuzulum» &lt;/ins&gt;(это&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;волшебное слово заставляло все работать, как надо) и &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;“Think &lt;/del&gt;about &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;it”&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;волшебное слово заставляло все работать, как надо) и &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;«Think &lt;/ins&gt;about &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;it»&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;(«подумай об этом»), причем последнее она произносила лишь тогда,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;(«подумай об этом»), причем последнее она произносила лишь тогда,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;когда предлагала своей юной аудитории новую загадку.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;когда предлагала своей юной аудитории новую загадку.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Как мы все прекрасно знаем, достаточно развитая &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;технология – &lt;/del&gt;это&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Как мы все прекрасно знаем, достаточно развитая &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;технология — &lt;/ins&gt;это&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;та же магия, и в этом выпуске мы попробуем проделать кое-какие трюки самостоятельно. Мы будем использовать SOAP (англ. «мыло», &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;–&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;та же магия, и в этом выпуске мы попробуем проделать кое-какие трюки самостоятельно. Мы будем использовать SOAP (англ. «мыло», &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;прим.перев.), WSDL, XML и web-сервисы. Да, сейчас я произнес&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;прим.перев.), WSDL, XML и web-сервисы. Да, сейчас я произнес&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;несколько страшных слов, но не &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;беспокойтесь – &lt;/del&gt;я объясню, что они&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;несколько страшных слов, но не &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;беспокойтесь — &lt;/ins&gt;я объясню, что они&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;значат и зачем нужны, и вы будет просто сгорать от нетерпения,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;значат и зачем нужны, и вы будет просто сгорать от нетерпения,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;п о н я т н о ? Отвечайте же: «Да, Пол!»&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;п о н я т н о ? Отвечайте же: «Да, Пол!»&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 31:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Итак, первым из четырех основных компонентов нашей магии является SOAP, или Simple Object Access Protocol (простой протокол для&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Итак, первым из четырех основных компонентов нашей магии является SOAP, или Simple Object Access Protocol (простой протокол для&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;доступа к объектам). Это облегченный протокол для обмена информацией, работающий поверх HTTP. С его помощью мы отправляем на&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;доступа к объектам). Это облегченный протокол для обмена информацией, работающий поверх HTTP. С его помощью мы отправляем на&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;сервер запрос и получаем результат. WSDL (произносится как «виздулл» и немного напоминает Wizbit, что, впрочем, случайность) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;– &lt;/del&gt;это&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;сервер запрос и получаем результат. WSDL (произносится как «виздулл» и немного напоминает Wizbit, что, впрочем, случайность)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; — &lt;/ins&gt;это&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Web Service Definition Language (язык описания web-сервисов), средство для описания интерфейсов, которые вы можете использовать&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Web Service Definition Language (язык описания web-сервисов), средство для описания интерфейсов, которые вы можете использовать&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;через SOAP.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;через SOAP.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 52:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 52:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;нажмите Create Account. Вам может потребоваться использовать&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;нажмите Create Account. Вам может потребоваться использовать&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;новый e-mail адрес, если система откажет вам в регистрации. После&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;новый e-mail адрес, если система откажет вам в регистрации. После&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;прохождения этой процедуры на ваш адрес будет выслан ключ, дающий вам право на 1000 запросов в день. Сохраните его где-нибудь &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;–&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;прохождения этой процедуры на ваш адрес будет выслан ключ, дающий вам право на 1000 запросов в день. Сохраните его где-нибудь &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;он потребуется нам чуть позже.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;он потребуется нам чуть позже.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 66:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 66:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;var_dump($result = $soap-&amp;gt;__getFunctions());&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;var_dump($result = $soap-&amp;gt;__getFunctions());&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;?&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;?&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Всего две строки &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;и – &lt;/del&gt;вуаля! &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;– &lt;/del&gt;вы уже в стране web-сервисов.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Всего две строки &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;и — &lt;/ins&gt;вуаля!&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; — &lt;/ins&gt;вы уже в стране web-сервисов.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;В первой строке создается объект SoapClient, с помощью которого мы&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;В первой строке создается объект SoapClient, с помощью которого мы&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;отправляем и получаем данные. Конструктору этого класса передается&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;отправляем и получаем данные. Конструктору этого класса передается&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 90:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 90:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;будет особенно интересовать третья функция: doGoogleSearch(). Как&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;будет особенно интересовать третья функция: doGoogleSearch(). Как&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;вы можете видеть, она имеет большое число параметров, причем некоторые названы весьма причудливо. Вот их смысл:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;вы можете видеть, она имеет большое число параметров, причем некоторые названы весьма причудливо. Вот их смысл:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;key – &lt;/del&gt;это уникальный ключ, который Google выдал вам для персонального использования. Не раздавайте его кому попало, поскольку на один ключ допускается не более 1000 запросов в сутки.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;key — &lt;/ins&gt;это уникальный ключ, который Google выдал вам для персонального использования. Не раздавайте его кому попало, поскольку на один ключ допускается не более 1000 запросов в сутки.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;q – &lt;/del&gt;это текст запроса&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;q — &lt;/ins&gt;это текст запроса&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;start – &lt;/del&gt;точка, с которой вы хотите начать вывод результатов. Например, если $start=1000, вы пропустите первую тысячу результатов.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;start — &lt;/ins&gt;точка, с которой вы хотите начать вывод результатов. Например, если $start=1000, вы пропустите первую тысячу результатов.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;maxResults – &lt;/del&gt;максимальное число результатов поиска, которые вы хотите получить. Google ограничивает эту величину десятью, поэтому вам может потребоваться изменять значение параметра $start и делать несколько вызовов, если вы хотите получить больше.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;maxResults — &lt;/ins&gt;максимальное число результатов поиска, которые вы хотите получить. Google ограничивает эту величину десятью, поэтому вам может потребоваться изменять значение параметра $start и делать несколько вызовов, если вы хотите получить больше.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;filter – &lt;/del&gt;должен ли Google игнорировать множественные результаты для одного сайта или похожие результаты на различных сайтах?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;filter — &lt;/ins&gt;должен ли Google игнорировать множественные результаты для одного сайта или похожие результаты на различных сайтах?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;restrict – &lt;/del&gt;следует ли Google ограничиться определенной страной или регионом?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;restrict — &lt;/ins&gt;следует ли Google ограничиться определенной страной или регионом?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;safeSearch – &lt;/del&gt;Вас интересуют материалы «для взрослых»?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;safeSearch — &lt;/ins&gt;Вас интересуют материалы «для взрослых»?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;lr – &lt;/del&gt;позволяет установить языковые ограничения.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;lr — &lt;/ins&gt;позволяет установить языковые ограничения.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ie – &lt;/del&gt;входная кодировка. В настоящий момент это поле игнорируется, так что передайте здесь пустую строку.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ie — &lt;/ins&gt;входная кодировка. В настоящий момент это поле игнорируется, так что передайте здесь пустую строку.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;oe – &lt;/del&gt;выходная кодировка. Это поле также игнорируется.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* $&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;oe — &lt;/ins&gt;выходная кодировка. Это поле также игнорируется.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Да, для вызова этой несложной функции потребуется приличное&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Да, для вызова этой несложной функции потребуется приличное&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;число параметров, но это неизбежная плата за гибкость. Приступим?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;число параметров, но это неизбежная плата за гибкость. Приступим?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 164:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 164:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;поле estimatedTotalResultsCount (приблизительное число результатов поиска), а также массив resultElements. Мы запросили всего&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;поле estimatedTotalResultsCount (приблизительное число результатов поиска), а также массив resultElements. Мы запросили всего&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;пять результатов ($max_results=5), а это значит, что число элементов в resultElements также не будет превышать пяти. Первый&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;пять результатов ($max_results=5), а это значит, что число элементов в resultElements также не будет превышать пяти. Первый&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;результат имеет индекс 0, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;второй – &lt;/del&gt;1 и так далее. Для каждого из&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;результат имеет индекс 0, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;второй — &lt;/ins&gt;1 и так далее. Для каждого из&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;результатов предоставляются: URL, заголовок страницы (из &amp;lt;title&amp;gt;),&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;результатов предоставляются: URL, заголовок страницы (из &amp;lt;title&amp;gt;),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;выдержка из текста (несколько слов, обрамляющих поисковый&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;выдержка из текста (несколько слов, обрамляющих поисковый&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 189:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 189:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Давайте же, запустите этот сценарий и громко скажите:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Давайте же, запустите этот сценарий и громко скажите:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;“Ostagazuzulum&lt;/del&gt;!&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;”&lt;/del&gt;. Вы увидите что-то вроде:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;«Ostagazuzulum&lt;/ins&gt;!&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;»&lt;/ins&gt;. Вы увидите что-то вроде:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Search for Hudzilla complete - 2340 estimated results.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Search for Hudzilla complete - 2340 estimated results.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Practical PHP Programming&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Practical PHP Programming&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;http://www.hudzilla.org/php/index.php&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;http://www.hudzilla.org/php/index.php&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hudzilla.org - the homepage of Paul Hudson&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hudzilla.org - the homepage of Paul Hudson&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Думаю, вы &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;согласитесь – &lt;/del&gt;все достаточно просто. Мощь WSDL&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Думаю, вы &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;согласитесь — &lt;/ins&gt;все достаточно просто. Мощь WSDL&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;состоит в том, что вам не нужно заранее знать, какой функционал&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;состоит в том, что вам не нужно заранее знать, какой функционал&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;предоставляет Google, сила &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;SOAP – &lt;/del&gt;в том, что вам не нужно&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;предоставляет Google, сила &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;SOAP — &lt;/ins&gt;в том, что вам не нужно&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;заботиться о том, как передаются по сети все эти объекты.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;заботиться о том, как передаются по сети все эти объекты.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На последнем этапе в бой вступает &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;PHP – &lt;/del&gt;он позволяет вам&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На последнем этапе в бой вступает &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;PHP — &lt;/ins&gt;он позволяет вам&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;добиться результатов всего парой строчек кода. Вот это&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;добиться результатов всего парой строчек кода. Вот это&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;чудеса!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;чудеса!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Yaleks</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF74-75:PHP1&amp;diff=5818&amp;oldid=prev</id>
		<title>Yaleks: Новая: {{Цикл/PHP}}  == Разбираемся с Google API == ''«Тру-ля-ля, тра-ля-ля», – напевал '''Пол Хадсон''' (Paul Hudson), впервые за э...</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF74-75:PHP1&amp;diff=5818&amp;oldid=prev"/>
				<updated>2008-12-06T12:57:28Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: {{Цикл/PHP}}  == Разбираемся с Google API == &amp;#039;&amp;#039;«Тру-ля-ля, тра-ля-ля», – напевал &amp;#039;&amp;#039;&amp;#039;Пол Хадсон&amp;#039;&amp;#039;&amp;#039; (Paul Hudson), впервые за э...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Цикл/PHP}}&lt;br /&gt;
&lt;br /&gt;
== Разбираемся с Google API ==&lt;br /&gt;
''«Тру-ля-ля, тра-ля-ля», – напевал '''Пол Хадсон''' (Paul Hudson), впервые за этот год раздобыв кусочек МЫЛА и отправляясь в ванную подумать о WSDL.''&lt;br /&gt;
&lt;br /&gt;
Ostagazuzulum! Нет, я не стучу от нечего делать по клавиатуре и не начитался Гарри Поттера. В свое время, компания&lt;br /&gt;
BBC выпускала изумительную программу для детей – Wizbit.&lt;br /&gt;
Главная роль в ней была отведена большой желтой волшебной шляпе –&lt;br /&gt;
Wizbit, которая умела летать и совершать волшебство. Нереально, я&lt;br /&gt;
знаю. У Wizbit было два основных заклинания: “Ostagazuzulum” (это&lt;br /&gt;
волшебное слово заставляло все работать, как надо) и “Think about it”&lt;br /&gt;
(«подумай об этом»), причем последнее она произносила лишь тогда,&lt;br /&gt;
когда предлагала своей юной аудитории новую загадку.&lt;br /&gt;
&lt;br /&gt;
Как мы все прекрасно знаем, достаточно развитая технология – это&lt;br /&gt;
та же магия, и в этом выпуске мы попробуем проделать кое-какие трюки самостоятельно. Мы будем использовать SOAP (англ. «мыло», –&lt;br /&gt;
прим.перев.), WSDL, XML и web-сервисы. Да, сейчас я произнес&lt;br /&gt;
несколько страшных слов, но не беспокойтесь – я объясню, что они&lt;br /&gt;
значат и зачем нужны, и вы будет просто сгорать от нетерпения,&lt;br /&gt;
п о н я т н о ? Отвечайте же: «Да, Пол!»&lt;br /&gt;
&lt;br /&gt;
=== Принимаемся за дело ===&lt;br /&gt;
{{Врезка&lt;br /&gt;
|Заголовок=СОВЕТЫ&lt;br /&gt;
|Содержание=&lt;br /&gt;
* Поскольку SOAP и WSDL используют XML, вы можете просто прочитать их вручную, не полагаясь на PHP&lt;br /&gt;
* С помощью PHP можно создавать также SOAP-сервера, но здесь есть подводные камни&lt;br /&gt;
* Создавая объект SoapClient, вы можете передать конструктору второй параметр – массив опций. Таким образом, например, можно установить версию протокола&lt;br /&gt;
* Если вы не хотите связываться с WSDL, можете сделать SOAP-вызов вручную, посредством функции __soapCall(), которой передается имя SOAP-функции.&lt;br /&gt;
|Ширина=200px}}&lt;br /&gt;
Итак, первым из четырех основных компонентов нашей магии является SOAP, или Simple Object Access Protocol (простой протокол для&lt;br /&gt;
доступа к объектам). Это облегченный протокол для обмена информацией, работающий поверх HTTP. С его помощью мы отправляем на&lt;br /&gt;
сервер запрос и получаем результат. WSDL (произносится как «виздулл» и немного напоминает Wizbit, что, впрочем, случайность) – это&lt;br /&gt;
Web Service Definition Language (язык описания web-сервисов), средство для описания интерфейсов, которые вы можете использовать&lt;br /&gt;
через SOAP.&lt;br /&gt;
&lt;br /&gt;
XML, я надеюсь, вы уже знаете. Сегодня мы будем использовать&lt;br /&gt;
его вместе с SOAP и WSDL, так что наши данные смогут быть легко&lt;br /&gt;
переработаны на обоих концах. Объединив все это, мы получим web-сервисы. Мы можем узнать у сервера, что он умеет делать, послать&lt;br /&gt;
ему данные, получить результаты и вывести их на экран.&lt;br /&gt;
&lt;br /&gt;
Теперь давайте подумаем: какие вещи мы мы можем запросить&lt;br /&gt;
через Web? Варианты могут быть различными: загрузить с Amazon&lt;br /&gt;
базу данных их продукции, получить котировки акций или сделать что-то более интересное с помощью Google. О последнем мы и поговорим&lt;br /&gt;
более подробно.&lt;br /&gt;
&lt;br /&gt;
В этом учебнике мы рассмотрим, как посылать запросы в Google,&lt;br /&gt;
используя PHP и web-сервисы, а также использовать их результаты в&lt;br /&gt;
наших сценариях. Это, конечно, не так эффектно, как вытащить кролика из шляпы, но я ни за что не поверю, что у Google нет феи и даже&lt;br /&gt;
крестной. Чтобы воспользоваться web-сервисами Google, вам придется&lt;br /&gt;
завести на нем учетную запись. Посетите www.google.com/apis и&lt;br /&gt;
нажмите Create Account. Вам может потребоваться использовать&lt;br /&gt;
новый e-mail адрес, если система откажет вам в регистрации. После&lt;br /&gt;
прохождения этой процедуры на ваш адрес будет выслан ключ, дающий вам право на 1000 запросов в день. Сохраните его где-нибудь –&lt;br /&gt;
он потребуется нам чуть позже.&lt;br /&gt;
&lt;br /&gt;
=== Начинаются чудеса ===&lt;br /&gt;
Одевайте свой волшебный колпак и приготовьтесь к магии. Мы будем&lt;br /&gt;
использовать SOAP-расширения PHP5 для чтения WSDL-Файла Google,&lt;br /&gt;
а затем использовать эти данные для отправки запроса. WSDL-файл&lt;br /&gt;
доступен по адресу http://api.google.com/GoogleSearch.wsdl,&lt;br /&gt;
загрузите его на свой компьютер и сохраните в одном каталоге со сценарием. Теперь создайте файл google1.php со следующим&lt;br /&gt;
содержимым:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
$soap = new SoapClient(‘GoogleSearch.wsdl’);&lt;br /&gt;
var_dump($result = $soap-&amp;gt;__getFunctions());&lt;br /&gt;
?&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
Всего две строки и – вуаля! – вы уже в стране web-сервисов.&lt;br /&gt;
В первой строке создается объект SoapClient, с помощью которого мы&lt;br /&gt;
отправляем и получаем данные. Конструктору этого класса передается&lt;br /&gt;
имя WSDL-файла, который содержит в себе перечень доступных функций и их параметров. Мы передаем ему описание интерфейса Google&lt;br /&gt;
API. Вторая строка вызывает волшебную функцию __getFunctions().&lt;br /&gt;
Она возвращает массив функций, предоставляемых SOAP-объектом.&lt;br /&gt;
Вывод сценария будет следующим:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;array(3) {&lt;br /&gt;
[0]=&amp;gt;&lt;br /&gt;
string(54) &amp;quot;base64Binary doGetCachedPage(string $key,&lt;br /&gt;
string $url)&amp;quot;&lt;br /&gt;
[1]=&amp;gt;string(56) &amp;quot;string doSpellingSuggestion(string $key, string&lt;br /&gt;
$phrase)&amp;quot;&lt;br /&gt;
[2]=&amp;gt;&lt;br /&gt;
string(178) &amp;quot;GoogleSearchResult doGoogleSearch(string&lt;br /&gt;
$key, string $q, int $start, int $maxResults, boolean $filter,&lt;br /&gt;
string $restrict, boolean $safeSearch, string $lr, string $ie,&lt;br /&gt;
string $oe)&amp;quot;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
Это очень похоже на прототипы функций PHP. Например, вторая&lt;br /&gt;
функция имеет имя doSpellingSuggestion, принимает два параметра&lt;br /&gt;
($key и $phrase, оба являются строками) и возвращает строку. Нас&lt;br /&gt;
будет особенно интересовать третья функция: doGoogleSearch(). Как&lt;br /&gt;
вы можете видеть, она имеет большое число параметров, причем некоторые названы весьма причудливо. Вот их смысл:&lt;br /&gt;
* $key – это уникальный ключ, который Google выдал вам для персонального использования. Не раздавайте его кому попало, поскольку на один ключ допускается не более 1000 запросов в сутки.&lt;br /&gt;
* $q – это текст запроса&lt;br /&gt;
* $start – точка, с которой вы хотите начать вывод результатов. Например, если $start=1000, вы пропустите первую тысячу результатов.&lt;br /&gt;
* $maxResults – максимальное число результатов поиска, которые вы хотите получить. Google ограничивает эту величину десятью, поэтому вам может потребоваться изменять значение параметра $start и делать несколько вызовов, если вы хотите получить больше.&lt;br /&gt;
* $filter – должен ли Google игнорировать множественные результаты для одного сайта или похожие результаты на различных сайтах?&lt;br /&gt;
* $restrict – следует ли Google ограничиться определенной страной или регионом?&lt;br /&gt;
* $safeSearch – Вас интересуют материалы «для взрослых»?&lt;br /&gt;
* $lr – позволяет установить языковые ограничения.&lt;br /&gt;
* $ie – входная кодировка. В настоящий момент это поле игнорируется, так что передайте здесь пустую строку.&lt;br /&gt;
* $oe – выходная кодировка. Это поле также игнорируется.&lt;br /&gt;
Да, для вызова этой несложной функции потребуется приличное&lt;br /&gt;
число параметров, но это неизбежная плата за гибкость. Приступим?&lt;br /&gt;
&lt;br /&gt;
=== Хадзилла возвращается ===&lt;br /&gt;
Вооружившись знаниями о всемогущей doGoogleSearch(), попробуем выполнить следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
$soap = new SoapClient('GoogleSearch.wsdl');&lt;br /&gt;
$key = &amp;quot;ВАШ_КЛЮЧ_GOOGLE&amp;quot;;&lt;br /&gt;
$query = &amp;quot;Hudzilla&amp;quot;;&lt;br /&gt;
$start = 0;&lt;br /&gt;
$max_results = 5;&lt;br /&gt;
$filter = false;&lt;br /&gt;
$restrict = &amp;quot;&amp;quot;;&lt;br /&gt;
$safe_search = false;&lt;br /&gt;
$language_restrict = &amp;quot;&amp;quot;;&lt;br /&gt;
$input_encoding = &amp;quot;&amp;quot;;&lt;br /&gt;
$output_encoding = &amp;quot;&amp;quot;;&lt;br /&gt;
$result = $soap-&amp;gt;doGoogleSearch($key, $query, $start,&lt;br /&gt;
$max_results, $filter, $restrict, $safe_search, $language_restrict, $input_encoding, $output_encoding);&lt;br /&gt;
if (is_soap_fault($result)) {&lt;br /&gt;
print &amp;quot;Your query failed: {$result-&amp;gt;faultstring}\n&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
print_r( $result );&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
{{Врезка&lt;br /&gt;
|Заголовок=ЧЕТЫРЕ СТОЯЩИХ WEB-СЕРВИСА&lt;br /&gt;
|Содержание=&lt;br /&gt;
; Amazon:&lt;br /&gt;
Книголюбы могут посетить http://www.amazon.com/gp/aws/landing.html&lt;br /&gt;
; eBay:&lt;br /&gt;
Самый популярный Интернет-аукцион доступен через SOAP и XML – см. http://developer.ebay.com&lt;br /&gt;
; Flickr:&lt;br /&gt;
Хотите научиться запрашивать ваш фото-блог? Заходите сюда: http://www.flickr.com/services/api&lt;br /&gt;
; Yahoo!:&lt;br /&gt;
Ходите по магазинам, заказывайте билеты, смотрите карты Yahoo! Maps на http://developer.yahoo.net&lt;br /&gt;
|Ширина=200px}}&lt;br /&gt;
В этом примере я использовал переменные, чтобы сохранить&lt;br /&gt;
различные параметры SOAP-запроса. Это, конечно, необязательно:&lt;br /&gt;
в своих собственных сценариях вы можете использовать эти значения напрямую. Я сделал это исключительно для того, чтобы дать&lt;br /&gt;
параметрам понятные имена (например $output_encoding).&lt;br /&gt;
Функция doGoogleSearch() возвращает класс, который содержит&lt;br /&gt;
различную информацию, и данный сценарий попросту выводит все&lt;br /&gt;
на экран, чтобы вы получили какое-никакое представление о том, с&lt;br /&gt;
чем имеете дело.&lt;br /&gt;
&lt;br /&gt;
Вот вывод сценария:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;stdClass Object&lt;br /&gt;
(&lt;br /&gt;
[estimatedTotalResultsCount] =&amp;gt; 2290&lt;br /&gt;
[resultElements] =&amp;gt; Array&lt;br /&gt;
(&lt;br /&gt;
[0] =&amp;gt; stdClass Object&lt;br /&gt;
(&lt;br /&gt;
[URL] =&amp;gt; http://www.hudzilla.org/php/index.php&lt;br /&gt;
[snippet] =&amp;gt; &amp;lt;b&amp;gt;Hudzilla&amp;lt;/b&amp;gt;.org - the homepage of&lt;br /&gt;
Paul Hudson&lt;br /&gt;
[title] =&amp;gt; Practical PHP Programming&lt;br /&gt;
[cachedSize] =&amp;gt; 68k&lt;br /&gt;
)&amp;lt;/source&amp;gt;&lt;br /&gt;
Конечно, реальный результат будет длиннее, но мы побережем&lt;br /&gt;
бумагу и приведем лишь первые 12 строк. Как видно, объект имеет&lt;br /&gt;
поле estimatedTotalResultsCount (приблизительное число результатов поиска), а также массив resultElements. Мы запросили всего&lt;br /&gt;
пять результатов ($max_results=5), а это значит, что число элементов в resultElements также не будет превышать пяти. Первый&lt;br /&gt;
результат имеет индекс 0, второй – 1 и так далее. Для каждого из&lt;br /&gt;
результатов предоставляются: URL, заголовок страницы (из &amp;lt;title&amp;gt;),&lt;br /&gt;
выдержка из текста (несколько слов, обрамляющих поисковый&lt;br /&gt;
запрос) и размер страницы в кэше Google. Немного поднапрягшись,&lt;br /&gt;
мы можем организовать цикл по этим элементам и вывести их в простом и удобном виде:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;print &amp;quot;Search for $query complete - {$result-&amp;gt;estimatedTo&lt;br /&gt;
talResultsCount} estimated results.\n&amp;quot;;&lt;br /&gt;
foreach($result-&amp;gt;resultElements as $search_result) {&lt;br /&gt;
print &amp;quot; {$search_result-&amp;gt;title}\n&amp;quot;;&lt;br /&gt;
print &amp;quot; {$search_result-&amp;gt;URL}\n&amp;quot;;&lt;br /&gt;
print &amp;quot; &amp;quot; . strip_tags(htmlspecialchars_decode($search_result-&amp;gt;snippet)) . &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
Большая часть этого кода&lt;br /&gt;
очевидна, за исключением,&lt;br /&gt;
пожалуй, последней строки.&lt;br /&gt;
Google возвращает данные в&lt;br /&gt;
формате, пригодном для&lt;br /&gt;
отправки в web-браузер, то есть,&lt;br /&gt;
например, выделяет найденные слова&lt;br /&gt;
жирным шрифтом. Некоторые web-сайты&lt;br /&gt;
используют &amp;amp;gt;, так что нам также придется конвертировать их в символы (&amp;gt;,&lt;br /&gt;
в данном случае), а также выкинуть все&lt;br /&gt;
тэги, которые не предназначены для прямого вывода на экран.&lt;br /&gt;
&lt;br /&gt;
Давайте же, запустите этот сценарий и громко скажите:&lt;br /&gt;
“Ostagazuzulum!”. Вы увидите что-то вроде:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Search for Hudzilla complete - 2340 estimated results.&lt;br /&gt;
Practical PHP Programming&lt;br /&gt;
http://www.hudzilla.org/php/index.php&lt;br /&gt;
Hudzilla.org - the homepage of Paul Hudson&amp;lt;/source&amp;gt;&lt;br /&gt;
Думаю, вы согласитесь – все достаточно просто. Мощь WSDL&lt;br /&gt;
состоит в том, что вам не нужно заранее знать, какой функционал&lt;br /&gt;
предоставляет Google, сила SOAP – в том, что вам не нужно&lt;br /&gt;
заботиться о том, как передаются по сети все эти объекты.&lt;br /&gt;
На последнем этапе в бой вступает PHP – он позволяет вам&lt;br /&gt;
добиться результатов всего парой строчек кода. Вот это&lt;br /&gt;
чудеса!&lt;/div&gt;</summary>
		<author><name>Yaleks</name></author>	</entry>

	</feed>