Класс для работы с Ini файлами

Ирокез

бессмертный пони
Команда форума
Партнер клуба
grigori
при чем тут, кого-то ты там обучишь, вопрос был объясняешь ли ты заказчику о том что таких магазинов полно. забей!
 

AmdY

Пью пиво
Команда форума
PHP:
public function set($path, $value)
    {
       //.....
        if ($this->autosave)
            $this->save();
        ....
    }
setAutosave вообще непонятный тригер без возможности установить или узнать актуальное состояние из вне.
 

Beginner.83

Новичок
В принципе я очень Вам всем благодарен. Критика то что надо. Ирокез спасибо за перекрытие тылов и адекватный анализ обстановки.

Понял нужно добавить метод getAutosaveStatus. Насчёт того что private $autosave = true. Это ж не проблема исправим на false. Тоже не проблема. Насчёт надобности класса я его не продаю что бы мне в 100 кадыков кричали что он вам не нужен. Хотите дать критику как заметил Ирокез так давайте её по делу а не из глубины ваших амбиций. Нужен вам он или нет это сугубо ваши половые сложности относится к Григорию и к AmdY. Со всем Уважением к вашим навыкам не любите мне мозг о надобности это класса в ваших интересах главное что он мне нужен.
Григорий и AmdY без обид мужики но палку перегибаете очень сурово у меня ник за себя говорит что я новичок.
 

Beginner.83

Новичок
Исходник обновлён. Внёс изменения по теме $this->autosave. Добавил новый метод getAutosaveStatus
 

AmdY

Пью пиво
Команда форума
Beginner.83
извини, а где была с моей стороны необоснованная критика? давай критикуя критику критику обосновывать.

$this->autosave. Добавил новый метод getAutosaveStatus
ты не понял, нужно чтобы setAutosave принимало параметр.
 

Beginner.83

Новичок
Beginner.83
извини, а где была с моей стороны необоснованная критика? давай критикуя критику критику обосновывать.


ты не понял, нужно чтобы setAutosave принимало параметр.
Зачем? Можно же просто засетить в зависимости от задачи.
 

Sufir

Я не волшебник, я только учусь
Я пользуюсь твоим классом:
PHP:
$ini = new Ini( 'config.ini' );
// ... код, код
// ... код
$ini->setAutosave(); // в какое значение сейчас установлен autosave?
// ... код
Код должен быть прозрачен и понятен. Чтоб я через месяц заглянул в любую строчку и сразу понял, что у меня тут происходит. Что-бы мне однозначно отключить autosave придётся сделать вот что:
PHP:
$ini = new Ini( 'config.ini' );
// ... код, код
// ... код
if ( $ini->getAutosaveStatus() === true )
    $ini->setAutosave();
// ... код
Хотя можно просто:
PHP:
$ini->setAutosave( false ); // и сразу ясно что мы сделали
 

Beginner.83

Новичок
Я пользуюсь твоим классом:
PHP:
$ini = new Ini( 'config.ini' );
// ... код, код
// ... код
$ini->setAutosave(); // в какое значение сейчас установлен autosave?
// ... код
Код должен быть прозрачен и понятен. Чтоб я через месяц заглянул в любую строчку и сразу понял, что у меня тут происходит. Что-бы мне однозначно отключить autosave придётся сделать вот что:
PHP:
$ini = new Ini( 'config.ini' );
// ... код, код
// ... код
if ( $ini->getAutosaveStatus() === true )
    $ini->setAutosave();
// ... код
Хотя можно просто:
PHP:
$ini->setAutosave( false ); // и сразу ясно что мы сделали
Sufir рад что мои труды понадобились кому то кроме меня) Признаю если об этом заявили уже два человека поменяю. Обновил исходники. По умолчанию автоматическое сохранение отключено.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Григорий и AmdY без обид мужики но палку перегибаете очень сурово у меня ник за себя говорит что я новичок.
а ты пришел чтобы тебя поддержали и воодушевили, да? :) детский утренник немного дальше, мы кодом деньги зарабатываем
и только здесь тебе не просто скажут "вы нам не подходите, приходите когда научитесь", а скажут почему и что надо сделать, чтобы соответствовать
 

Beginner.83

Новичок
а ты пришел чтобы тебя поддержали и воодушевили, да? :) детский утренник немного дальше, мы кодом деньги зарабатываем
и только здесь тебе не просто скажут "вы нам не подходите, приходите когда научитесь", а скажут почему и что надо сделать, чтобы соответствовать
Спасибо.
 

wadim

Новичок
код совершенно не читабелен, ни одного комментария.
используй одни метод для записи и получения значения.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
- используй одни метод для записи и получения значения.
это неправильно. для получения - getFoo(), для установки - setFoo()
 

Beginner.83

Новичок
для получения - $class->foo();, для установки - $class->foo(values);
Ну о вкусах не спорят но если Вам Уважаемый так удобней используйте по своему исходник есть код рабочий так что дерзайте редактируйте как вам удобнее. Если есть новые предложения по поводу функционала пишите буду признателен.
 

wadim

Новичок
вам класс сам использовать не будут.
Если есть новые предложения по поводу функционала пишите буду признателен.
этого всегда полно, например, задать/получить/удалить сразу множество ключей и проверка сохранилось ли:
PHP:
$ini = new Ini( 'config.ini' );
//code
$ini->set(array(
  'section.key1' => 1,
  'section.key2' => 2,
  'section.key3' => 3,
  'section.key4' => 4,
));
//code
if ( $ini->save() )
{
   //code
}
 

Beginner.83

Новичок
вам класс сам использовать не будут.

этого всегда полно, например, задать/получить/удалить сразу множество ключей и проверка сохранилось ли:
PHP:
$ini = new Ini( 'config.ini' );
//code
$ini->set(array(
  'section.key1' => 1,
  'section.key2' => 2,
  'section.key3' => 3,
  'section.key4' => 4,
));
//code
if ( $ini->save() )
{
   //code
}
Приму во внимание.
PHP:
$ini->set('section',array(
  'key1' => 1,
  'key2' => 2,
  'key3' => 3,
  'key4' => 4,
));
Кстати чем тебе не выход? И такой метод работает.
 
Сверху