Rakovskiy, могу свою реализацию написать, но я бы сделал не так как ты, я вообще удивился такому классу если честно
Rakovskiy, ну или напишу схему, а ты сам реализуешь
Rakovskiy, делаем класс для настроек, в настройках надо организовать получение конфига, то есть получение тех нужных тебе настроек (шаблоны, маски...) , сохранение (файл например) настроек, получение настроек из файла, добавление аргументов в настройки, возможно настройки уже имеют какие то данные по умолчанию
класс черных_листов должен в конструкторе получать из настроек нужные данные и заполнять нужные свойства класса, принцип замены я бы тоже по другому сделал, str_ireplace вообще корявая и с utf может глюкнуть, так же в листах стоит предусмотреть фильтры по регулярному выражению или например по домену верхнего уровня
Rakovskiy, делаем класс для настроек, в настройках надо организовать получение конфига, то есть получение тех нужных тебе настроек (шаблоны, маски...) , сохранение (файл например) настроек, получение настроек из файла, добавление аргументов в настройки, возможно настройки уже имеют какие то данные по умолчанию
Такой класс нужно реализовать в зависимости от того где будут храниться настройки, я бы например реализовал всё это в БД. Сделал модуль, в котором добавлял бы маски и сайты ЧС, заполнил бы массив этими настройками и запихнул всё это в кеш.
класс черных_листов должен в конструкторе получать из настроек нужные данные и заполнять нужные свойства класса
У меня класс делает тоже самое только принимает эти данные по другому, через свойства.
Не знаю правильно или нет, но я считаю, что лучше принимать данные через свойства, а не параметры метода ИМХО
Принцип замены я бы тоже по другому сделал, str_ireplace вообще корявая и с utf может глюкнуть, так же в листах стоит предусмотреть фильтры по регулярному выражению или например по домену верхнего уровня
Ну тут согласен с тобой. Изначально все сделал на strtr() но она регистрозависиммая, теперь думаю попробовать реализовать через preg_replace, но не знаю как она с массивами работает.
Koenig, А, что по-поводу документации?
Rakovskiy, ну у меня когда класс уже написан иде сама их пишет, перед классом набираю ** и нажимаю энтер, остается только описание заполнить и возможно типы поменять
Rakovskiy, ту все бд пользовать хотят, потому что проще , но это и ресурсоемко получиться, еще и кэш, что мешает сразу делать кэш, например json получать массив или объект из файла и работать с ним, пересобрать массив и записать обратно
# Koenig (13.02.2015 / 18:26)
Rakovskiy, ну у меня когда класс уже написан иде сама их пишет, перед классом набираю ** и нажимаю энтер, остается только описание заполнить и возможно типы поменять
Опа, а у меня оказывается нужно перед существующим методом начать писать /** и нажать Enter