Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хмл, блокировка при записи? 
V
    Опции темы
BuShaRt
Дата 13.6.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



dstorm81, 
Знаете, многие, пользуются стандартными классами, даже не подозрева о их устройстве. Если, даже я не прав в плане, что класс можно легко извлечь, то в любом случае его можно продублировать и подгружать не из ядра, а как внешний класс, при этом свободно можно редактировать весь исходный код класса.

Smarty и PEAR тоже по вашему в PHP вшиты? хм, а я вот на пример их юзаю как внешние классы т.к. это сильно упрощает переносимость готовых программных продуктов.

Добавлено @ 15:06
Для чтения на досуге
http://forum.dklab.ru/php/heap/PodmenaDomd...aSvoyKlass.html

Это сообщение отредактировал(а) PARROT - 14.6.2007, 09:28
PM MAIL   Вверх
sTa1kEr
Дата 13.6.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



dstorm81, а чтение xml через fopen вас почему не устраивает?
Код

$fp = fopen("any.xml", "r+");
flock($fp, LOCK_EX);
$content = fread($fp, 8192);
$xml =  new DOMDocument('1.0');
$xml->loadXML($content);
// Работаем с XML
$content = $xml->saveXML();
fseek($fp, 0);
ftruncate($fp, 0); // забыл очистить
fwrite($fp, $content);
flock($fp, LOCK_UN);
fclose($fp);


Добавлено через 10 минут и 57 секунд
Цитата(BuShaRt @  13.6.2007,  15:00 Найти цитируемый пост)
Знаете, по моему именно дилетанты, пользуються стандартными классами, даже не подозрева о их устройстве. Если, даже я не прав в плане, что класс можно легко извлечь, то в любом случае его можно продублировать и подгружать не из ядра, а как внешний класс, при этом свободно можно редактировать весь исходный код класса.

И зачем изобретать очередной велосипед? Если хочется автоблокировки файлов через метод save, то достаточно расширить класс:
Код

class DOMDocumentLock extends DOMDocument
{
   public function load($filename)
   {
        // Открываем через fopen, болкируем и вызываем loadXML
   }

   public function save($filename)
   {
        // Соответственно разблокируем и сохраняем
   }
}

И не надо ничего дублировать и тем более извлекать.

Это сообщение отредактировал(а) sTa1kEr - 13.6.2007, 15:43
PM MAIL   Вверх
BuShaRt
Дата 13.6.2007, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



sTa1kEr, 
А если на хостинге PHP4 стоит? PHP5, это хорошо, но я уверен, что для вас ни секрет, что новые технологии должны обжиться, прежде, чем их начинают широко использовать...

имхо "Программист, а не заказчик должен забоиться, чтоб движок работал".
PM MAIL   Вверх
sTa1kEr
Дата 13.6.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(BuShaRt @  13.6.2007,  18:11 Найти цитируемый пост)
А если на хостинге PHP4 стоит?

В PHP 4 нету DomDocument smile
Цитата(BuShaRt @  13.6.2007,  18:11 Найти цитируемый пост)
PHP5, это хорошо, но я уверен, что для вас ни секрет, что новые технологии должны обжиться, прежде, чем их начинают широко использовать...

Имхо, PHP 5 уже давно обжился, только некоторые ленивые либо просто глупые хостеры никак не обживутся PHP 5.
PM MAIL   Вверх
BuShaRt
Дата 13.6.2007, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Цитата(sTa1kEr @  13.6.2007,  18:16 Найти цитируемый пост)
В PHP 4 нету DomDocument 

Если юзать внешним классом, то есть smile))

PM MAIL   Вверх
dstorm81
Дата 14.6.2007, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



2 sTa1kEr
вот именно это я и хотел узнать

Код

class DOMDocumentLock extends DOMDocument
{
   public function load($filename)
   {
        // Открываем через fopen, болкируем и вызываем loadXML
   }

   public function save($filename)
   {
        // Соответственно разблокируем и сохраняем
   }

}


но вопрос был именно в том, что блокирует ли стандартная save(), то есть включена ли в нее эта фишка, или блокировку надо реализовывать самому через extends???
вот в чем пвопрос, хочу получить булевый ответ: да блокировка в save вшита (и ссылка где это описано) или нет блокировка не вшита
Жду ответа  sTa1kEr
P/S/ php5

 ! 
PARROT
Пользуемся кнопкой код!!!


Это сообщение отредактировал(а) PARROT - 14.6.2007, 09:29


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
PARROT
Дата 14.6.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50




 ! 
PARROT
Прекращаем Базар-Вокзал! Или закрою тему. Спасибо.



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
sTa1kEr
Дата 14.6.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(dstorm81 @  14.6.2007,  07:37 Найти цитируемый пост)
вот в чем пвопрос, хочу получить булевый ответ: да блокировка в save вшита (и ссылка где это описано) или нет блокировка не вшита

false
Более того, ни метод load(), ни метод save() не имеет никакого отношения к стандартным функциям PHP работы с файлами. За эти методы целиком и полностью отвечает библиотека libxml2. Заодно выяснил, что libxml2 умеет загружать xml по http и ftp протоколам, а также сжатые файлы.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0507 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.