Существует только "Клудж" хранения ссылки кода в лексической переменной, который никакая внешняя сторона, которую видит объем:
my $priv_func1 = sub { my $self = shift; say 'func1'; };
sub public_sub {
my $self = shift;
$priv_func1->( $self );
}
И я не могу думать из способа сделать строго "защищенные" поля.
Вот именно, насколько я знаю (помимо фильтров источника... shhhh. Я не упоминал их....)
РЕДАКТИРОВАНИЕ: На самом деле, оказывается, что я могу думать об очень грязном способе сделать защищенный. Но это, вероятно, включило бы передачу всех вызовов через AUTOLOAD
замена (!!)
Я не совсем уверен, что правильно понял ваш вопрос, но вот способ сделать это:
<?php
$message = Swift_Message::newInstance()
->setSubject('Let\'s get together today.')
->setFrom(array('myfrom@domain.com' => 'From Me'))
->setBody('Here is the message itself')
->addPart('<b>Test message being sent!!</b>', 'text/html')
;
$data = mysql_query('SELECT first, last, email FROM users WHERE is_active=1') or die(mysql_error());
while($row = mysql_fetch_assoc($data))
{
$message->addTo($row['email'], $row['first'] . ' ' . $row['last']);
}
$message->batchSend();
?>
Надеюсь, это то, что вы хотели.