Сегодня: 19:04:2026 Доброго вам дня!

I live ExBB and CMS Limbo!  I live ExBB and CMS Limbo!
Логин :
Пароль :
Регистрация?  Забыли пароль? 
 

Страниц (117): В начало « ... 89 90 91 92 [93] 94 95 96 97 ... » В конец

> Найдено сообщений: 1170
NordWest Отправлено: 9 ноября 2012 — 13:01 • Тема: Работа в Limbo с XML данными • Форум: Limbo CMS

Ответов: 7
Просмотров: 3604
Следующий код перебирает содержимое дочерних элементов
Там применяется метод getValue(), который получает всё текстовое содержимое отсекая все теги.
code:
foreach($items as $item)
{
$tinfo=false;
foreach($req as $var=>$val)
{
$obj = $item->getElementByPath($val);
if($obj)
{$tinfo[$var]=$obj->getValue();}
else
{$tinfo[$var]='';}
}
$info[]=$tinfo;
print_r( $tinfo ); ?><br /><br /><? ;
}
}
return $info;


Спойлер (Показать)
NordWest Отправлено: 9 ноября 2012 — 00:45 • Тема: Работа в Limbo с XML данными • Форум: Limbo CMS

Ответов: 7
Просмотров: 3604
Присваиваем переменной $items результат метода $update_element->getAllChildren()
Этот метод возвращает список всех дочерних элементов объекта.

code:
$items = $update_element->getAllChildren();


В случае, когда $update_element получено при $path = 'components' имеем ответ

Спойлер (Показать)
NordWest Отправлено: 9 ноября 2012 — 00:38 • Тема: Просмотр содержимого объектов или архивов • Форум: Записная книжка PHP

Ответов: 1
Просмотров: 4188
Функции для работы с классами и объектами

get_class_methods()

Функция get_class_methods() возвращает массив имен методов класса с заданным именем. Синтаксис функции get_class_methods():

code:
array get_class_methods (string имя_класса)



get_class_vars()

Функция get_class_vars() возвращает массив имен атрибутов класса с заданным именем. Синтаксис функции get_class_vars():

code:
array get_class_vars (string имя_класса)


get_object_vars()

Функция get_object_vars() возвращает ассоциативный массив с информацией обо всех атрибутах объекта с заданным именем. Синтаксис функции get_object_vars():

code:
array get_object_vars (object имя_обьекта)


method_exists()

Функция method_exists() проверяет, поддерживается ли объектом метод с заданным именем. Если метод поддерживается, функция возвращает TRUE, в противном случае возвращается FALSE. Синтаксис функции method_exists():

code:
bool method_exi sts (object имя_обьекта. string имя_метода)


get_class()

Функция get_class() возвращает имя класса, к которому относится объект с заданным именем. Синтаксис функции get_class():

code:
string get_class(object имя_объекта);


get_parent_class()

Функция get_parent_class() возвращает имя родительского класса (если он есть) для объекта с заданным именем. Синтаксис функции get_parent_dass():

code:
string get_parent_class (object имя_обьекта);


is_subclass_of()

Функция is_subclass_of() проверяет, был ли объект создан на базе класса, имеющего родительский класс с заданным именем. Функция возвращает TRUE, если проверка дает положительный результат, и FALSE в противном случае. Синтаксис функции is_subclass_of():

code:
bool is_subclass_of (object объект, string имя_класса)


get_declared_classes()

Функция get_declared_classes() возвращает массив с именами всех определенных классов. Синтаксис функции get_declared_classes():

code:
array get_declared_classes()
NordWest Отправлено: 9 ноября 2012 — 00:08 • Тема: Работа в Limbo с XML данными • Форум: Limbo CMS

Ответов: 7
Просмотров: 3604
Разбираем функцию read_updates_xml

Переменной $update_element присваиваем результат метода $xml->getElementByPath($path)
Этот метод ищет в объекте $xml секцию согласно адреса, указанного в параметре. В качестве параметра может быть имя секции, или конструкция разделённая слешем и описывающая родственные связи (раздел/подраздел и т.д.)
code:
$update_element = $xml->getElementByPath($path);

В случае, когда переменная $path = 'components' имеем ответ

Спойлер (Показать)
NordWest Отправлено: 8 ноября 2012 — 15:24 • Тема: Работа в Limbo с XML данными • Форум: Limbo CMS

Ответов: 7
Просмотров: 3604
Сохраняем в переменной $table_data результат функции read_updates_xml
Эта функция получает данные из объекта $xml, ищет там категорию components и в этой категории ищет данные согласно списка, определенного в архиве $table_req

code:
$table_data = read_updates_xml($xml,'components',$table_req );

Спойлер (Показать)
NordWest Отправлено: 8 ноября 2012 — 15:04 • Тема: Работа в Limbo с XML данными • Форум: Limbo CMS

Ответов: 7
Просмотров: 3604
Создаем в переменной $table_req вспомогательный массив, содержащий список элементов, которые мы хотели бы получить.
Другими словами в этом массиве перечисляем поля структуры, данные из которых нам нужно прочитать.

code:
$table_req = array (
'id'=>'id','name'=>'name','link'=>'link','published'=>'published','author'=>'author',
'version'=>'version','date'=>'date','authorEmail'=>'authorEmail','size'=>'size');
NordWest Отправлено: 8 ноября 2012 — 14:42 • Тема: Работа в Limbo с XML данными • Форум: Limbo CMS

Ответов: 7
Просмотров: 3604
Заполняем структуру объекта $xml данными из переменной $xml_data
По сути заполняем структуру данными из файла updates.xml.

code:
$xml->fromString($xml_data);

Спойлер (Показать)
NordWest Отправлено: 8 ноября 2012 — 14:24 • Тема: Работа в Limbo с XML данными • Форум: Limbo CMS

Ответов: 7
Просмотров: 3604
Работа с XML данными

Тут я буду разбираться с функциями, которые используются при работе с XML данными. Некоторые вещи объяснить будет сложно, а потому мне проще отталкиваться от конкретного примера. Не зная теории я буду использовать принцип черного ящика - подавать на вход данные и смотреть что получаю на выходе. Код буду обрамлять тегами Code, а данные вообще прятать под Spoiler ввиду большого размера...

Итак имеем на входе файл

Спойлер (Показать)

Создаем объект класса MiniXMLDoc. Через этот объект и будем оперировать данными
Следующей командой читаем в переменную $xml_data содержимое файла
code:
$xml = new MiniXMLDoc();
$xml_data=get_url('http://limbo/updates.xml');
NordWest Отправлено: 5 ноября 2012 — 19:54 • Тема: Попытка запустить репозитарий • Форум: Limbo CMS

Ответов: 9
Просмотров: 3976
Не работает ссылка "Инфо".
Определил, что по ссылке почему то вызывается функция info_language() из файла admin.language.html.php
NordWest Отправлено: 5 ноября 2012 — 14:59 • Тема: История изменений... • Форум: Limbo CMS

Ответов: 40
Просмотров: 32525
Поправил форматирование исходного кода в файлах admin.system.php и admin.system.html.php
В последнем есть притензия к функции browse() - оболочка ругается на синтаксис.

Страниц (117): В начало « ... 89 90 91 92 [93] 94 95 96 97 ... » В конец

Powered by ExBB v1.1.180311