2015-07-22 4 views
0

Я пишу комплект Symfony2, для которого требуется Swift Mailer. Я использую Composer для установки Swift Mailer и Composer для установки пакета.Переопределить одну частную собственность в одном классе Swift Mailer (Symfony2)

Я хочу изменить значение одной частной собственности в одном классе Swift Mailer.

Конечно, я мог бы просто изменить свойство в PHP-коде, но я хочу гораздо лучшее решение, которое гарантирует, что когда мой пакет установлен (Composer) нет другой ручной работы (т.е. вручную изменить свойство в PHP код).

Я не думаю, что Swift Mailer является пакетом Symfony, поэтому я не думаю, что могу использовать класс компилятора.

Я знаю, что могу настроить параметры Composer, но я не думаю, что это решение. Конечно, проблема заключается в том, что я не могу изменить какой-либо код Swift Mailer (следовательно, пропуск компилятора был бы замечательным).

Я не думаю, что это даже возможно, но, конечно, я могу сделать это без ручной работы каждый раз, когда мой комплект установлен?

+1

Подробнее я буду полезен, так как это одно дело, которое непросто сделать без изменения кода. –

+1

Вы можете использовать Reflection, но сомнительно, что вам действительно нужно изменить свойство. Обновите свой вопрос с помощью более подробной информации. – Cerad

+0

Необходимо изменить частную собственность, как правило, неправильно. Вам не хватает альтернативных решений, и вы не указали подробные сведения о том, что хотите изменить, поэтому никто не может советовать лучшие решения. – Sven

ответ

0

Вы просто не можете, и это поведение PHP в целом.

Частная собственность означает, что это не точка расширения, предоставляемая SwiftMailer.

Каков ваш желаемый прецедент? Если ваш пример использования является действительным, и для этого нет другой полезной точки расширения, я бы предложил вам внести вклад в SwiftMailer, чтобы предложить его. (Самый простой вклад будет в том, чтобы защитить объект)

Смежные вопросы