Closed c7v closed 2 years ago
Если автор одобрит идею сделаю коммит с правками.
Не совсем понял сути проблемы. В данном примере в filename содержит полное именование файла включая формат. Каких-то определенных стандартов, что именно должен содержать filename нет. Так же еще надо учитывать, что бывает названия файлов в письмах идут как зря и не всегда удается правильно определить extension. Поэтому думаю надо отдавать имя файла как есть, а уже программист использующий библиотеку сам определяет нужен ему extension или нет.
Да, определить extension может быть невозможно по причине отсутствия формата, по этому в моём запросе на слияние, вы можете увидеть что extension по умолчанию null и если filename не проходит через регулярное выражение, то считаем baseName таким же как и filename. Принимая во внимание статью на ru.bmstu.wiki я понял, что формат файла можно получить из полного наименования файла filename, взяв то что написано с конца строки до первой точки. Этот подход покрывает большинство форматов, если не все.
Поэтому думаю надо отдавать имя файла как есть, а уже программист использующий библиотеку сам определяет нужен ему extension или нет.
От части согласен с вами, да отдаём полное наименование файла и разработчик сам решает что с ним делать. Я предлагаю не заменить filename на baseName и extension, я предлагаю внести в библиотеку удобство работы с ней.
В случаях когда библиотека используется в единственном месте в проекте и в единственном месте нужно определить формат или название (без формата) из filename и произвести какие-то действия, разработчик может сам написать пару строк кода для этого. Но если мы работаем с этой библиотекой во множестве мест в коде, и каждый раз нам нужно получать формат файла или название (без формата), для этого каждый раз писать (копировать) код или выносить данный код для парсинга полного наименования файла в отдельную функцию, неудобно и зачем? Если мы можем в библиотеке сделать это.
В этом и заключается проблема (о которой я так плохо написал в начале), по этому предложил внести baseName и extension для удобства, надеюсь, вы оцените и внесёте моё предложение.
Можно закрыть эту задачу, реквест удалил.
Если я не ошибаюсь смотря на afinogen89\getmail\message\Attachment, то данная идея в тему, если ошибаюсь, прошу указать на ошибку.
Суть:
При сохранении файлов:
В $t->filename передаётся, в том числе формат файла
Выставленный счёт №154.pdf
считаю это не правильным по скольку в данном примере filename (имя файла) этоВыставленный счёт №154
, формат файла нужно передать extension.Предлагаю:
Имя файла
Выставленный счёт №154
предлагаю передавать в $t->baseName, а форматpdf
в $t->extension.