Я знаю, что не основная идея этого сайта - отвечать на подобные вопросы, но через пару дней у меня будет возможность подать заявку на младшую (или, может быть, более правильно, стажера) должность программиста на PHP и вот почему я решил опубликовать здесь, в надежде, что это будет хорошо.
Компания в некотором роде большая по сравнению с другими здесь, поэтому хорошо известно, что такое экзамен для людей, желающих попасть на эту должность - это либо - написание сценария нумерации страниц, либо какой-то сервис SOAP. У меня нет проблем с нумерацией страниц. , но с тех пор я никогда не обращал слишком много внимания на SOAP, и теперь мне нужно изучить основы службы SOAP при использовании с PHP. Предоставляя позицию, на которую я претендую, никто не ожидает, чтобы показать что-то блестящее, но мне все еще нужны базовые понимание клиентских и серверных сервисов SOAP, может быть, я пока не буду беспокоиться о WSDL, так как не думаю, что у меня достаточно времени для всего.
Итак, у меня есть пример кода, который, скорее всего, мне нужно будет написать и объяснить, если я буду писать сервис SOAP:
Клиентская сторона -
<code><?php
if (isset($_REQUEST["cname"]) && isset($_REQUEST["cpass"]))
{
$cname = $_REQUEST["cname"];
$md5pass = md5( $_REQUEST["cpass"]);
$client = new SoapClient(null, array(
'location' => "http://localhost/test/BuildInSoapWithWSDL/server.php",
'uri' => "urn://localhost/test/BuildInSoapWithWSDL/",
'trace' => 1 ));
try
{
if ( $client->saveUserNameAndPass($cname, $md5pass))
{echo "Data updated!";}
else
{echo "Error updating data!";}
print "<pre>\n";
print "Request :\n".htmlspecialchars($client->__getLastRequest()) ."\n";
print "Response:\n".htmlspecialchars($client->__getLastResponse())."\n";
print "
";
}
поймать (исключение $ e)
{
echo 'Exception:', $ e-> getMessage (), "\ n";
}
}
еще
{
эхо "Ошибка!";
}
?>
сторона сервера -
<?php
$server = new SoapServer(null, array('uri' => 'urn://localhost/test/BuildInSoapWithoutWSDL/'));
$server->addFunction("saveUserNameAndPass");
$server->handle();
function database_connect($host, $account, $password, $dbname)
{
$connect = mysql_connect($host, $account, $password);
$connect = mysql_select_db($dbname, $connect);
return $connect;
}
function saveUserNameAndPass($userName,$passWord)
{
try
{
if (database_connect("localhost", "saveuser", "123456", "savetask") == 1)
{
$userName = mysql_real_escape_string($userName);
$sql = "INSERT INTO accounts (name,passmd5) VALUES ('".$userName."','".$passWord."')";
$result = mysql_query($sql);
mysql_close();
if ($result)
{ return true;}
else
{ return false;}
}
else
{
return false;
}
}
catch (Exception $e)
{
return false;
}
}
?>
Даже если у меня есть код, я все еще плохо знаю, что делать. Так что мне нужно некоторое объяснение основ при написании SOAP-сервиса, и если это topci не подходит для обсуждения здесь, я был бы признателен за любой источник, где эти все объясняется с точки зрения начинающего.
Спасибо