В последния урок се запознахме с основите на използване на
SOAP с
PHP с помоща на класа
nusoap.php. На базата на прост пример видяхме как става извикването на функция намираща се на даден сървър и обработката на получената и предадената информация от тип
int.
В този урок ще разгледаме по-сложен пример, при който ще използваме за обмяна на данните сложни типове от информация, като например масиви. За да може да се транспортира информацията в масиви, е необходимо да се направи предварителна строга дефиниция на получената и предадената информация между клиента и сървъра. Как точно става това, ще разгледаме в примера по-долу.
За пример ще вземем следната ситуация: Да предположем, че притежавате платформа разполагаща с голям брой книги и желаета да предоставите услуга на вашите клиенти, да могат да получават информация за дадена книга на базата на заглавие или автор. За тази цел клиентите ви ще изпращат масив от заглавия или автори, а вашата система ще връща обратно отново масив от подробна информация към всяко заглавие или автор. Точно този сценариj ще разиграем в нашите примери.
Базаданни
В начало ще подготвим нашата базаданни, където ще запаметяваме информацията за всяка една книга и от където ще извличаме подробна информация на базата на заглавие или автор. Табелата "books" ще съдържа следните полета:
- Title - Заглавие на книгата или списанието
- Author - Автор на книгата или списанието
- ISBN - Интернационален номер
За създаването на табелата използвайте следния код:
CODE1
2
3
4
5
6
7
8
9
10
11
12
| CREATE TABLE `books` (
`title` varchar(100) NOT NULL default '',
`author` varchar(100) NOT NULL default '',
`isbn` varchar(100) NOT NULL default ''
) TYPE=MyISAM;
INSERT INTO `books` (`title`, `author`, `isbn`) VALUES ('Learn to Program with Java', 'John Smiley', '0072131896');
INSERT INTO `books` (`title`, `author`, `isbn`) VALUES ('Java 2 for Dummies', 'Barry Burd', '0764507656');
INSERT INTO `books` (`title`, `author`, `isbn`) VALUES ('Advanced PHP Programming', 'George Schlossnagle', '0672325616');
INSERT INTO `books` (`title`, `author`, `isbn`) VALUES ('Beginning PHP 5 and MySQL', 'W. J. Gilmore', '1893115518');
INSERT INTO `books` (`title`, `author`, `isbn`) VALUES ('Learning PHP 5', 'David Sklar', '0596005601'); |
След като вече подготвихме информацията с която ще работим, може да преминем към създаването на сървъра!