TTransaction::log("** inserindo alunos");
 // instancia um novo objeto Aluno
 $daline = new Aluno();
 $daline->nome = 'Daline Dall Oglio';
 $daline->endereco = 'Rua da Conceição';
 $daline->telefone = '(51) 1111-2222';
 $daline->cidade = 'Cruzeiro do Sul';
 $daline->store();
 // armazena o objeto
 // instancia um novo objeto Aluno
 $william = new Aluno();
 $william->nome = 'William Scatolla';
 $william->endereco = 'Rua de Fátima';
 $william->telefone = '(51) 1111-4444';
 $william->cidade = 'Encantado';
 $william->store();
 // armazena o objeto
 // armazena esta frase no arquivo de LOG
 TTransaction::log("** inserindo cursos");
 // instancia um novo objeto Curso
 $curso = new Curso();
 $curso->descricao = 'Orientação a Objetos com PHP';
 $curso->duracao = 24;
 $curso->store();
 // armazena o objeto
 // instancia um novo objeto Curso
 $curso = new Curso();
 $curso->descricao = 'Desenvolvendo em PHP-GTK';
 $curso->duracao = 32;
 $curso->store();
 // armazena o objeto
$fabio = new Aluno();
// define algumas propriedades
$fabio->nome = 'Fábio Locatelli';
$fabio->endereco = 'Rua Merlin';
$fabio->telefone = '(51) 2222-1111';
$fabio->cidade = 'Lajeado';
// clona o objeto $fabio
$julia = clone $fabio;
// altera algumas propriedades
$julia->nome = 'Júlia Haubert';
$julia->telefone = '(51) 2222-2222';
try {
    // inicia transação com o banco 'pg_livro'
    TTransaction::open('pg_livro');
    // define o arquivo para LOG
    TTransaction::setLogger(new TLoggerTXT('/tmp/log4.txt'));
    // armazena o objeto $fabio
    TTransaction::log("** persistindo o aluno \$fabio");
    $fabio->store();
    // armazena o objeto $julia
    TTransaction::log("** persistindo o aluno \$julia");
    $julia->store();
    // finaliza a transação
    TTransaction::close();
    echo "clonagem realizada com sucesso <br>\n";
} catch (Exception $e) {
    // exibe a mensagem gerada pela exceção
    echo '<b>Erro</b>' . $e->getMessage();
    // desfaz todas alterações no banco de dados
    TTransaction::rollback();
}
    const TABLENAME = 'inscricao';
}
// insere novos objetos no banco de dados
try {
    // inicia transação com o banco 'pg_livro'
    TTransaction::open('pg_livro');
    // define o arquivo para LOG
    TTransaction::setLogger(new TLoggerTXT('/tmp/log12.txt'));
    // armazena esta frase no arquivo de LOG
    TTransaction::log("** inserindo o aluno \$carlos");
    // instancia um aluno novo
    $carlos = new Aluno();
    $carlos->nome = "Carlos Ranzi";
    $carlos->endereco = "Rua Francisco Oscar";
    $carlos->telefone = "(51) 1234-5678";
    $carlos->cidade = "Lajeado";
    // persiste o objeto aluno
    $carlos->store();
    // armazena esta frase no arquivo de LOG
    TTransaction::log("** inscrevendo o aluno nas turmas");
    // executa o método Inscrever (na turma 1 e 2)
    $carlos->Inscrever(1);
    $carlos->Inscrever(2);
    // finaliza a transação
    TTransaction::close();
} catch (Exception $e) {
    // exibe a mensagem gerada pela exceção
    echo '<b>Erro</b>' . $e->getMessage();
    // desfaz todas alterações no banco de dados
    TTransaction::rollback();
}
예제 #4
0
<?php

class Teste
{
    public $vetor = array();
    public function __get($nome)
    {
        return $this->vetor[$nome];
    }
    public function __set($nome, $valor)
    {
        $this->vetor[$nome] = $valor;
    }
}
$o = new Teste();
$o->a = "Frank";
$o->naoexiste = "José";
echo $o->a;
echo $o->naoexiste;
$a = new Aluno();
$a->nome = "Frank";
$a->endereco = "RUa 5";
$a->store();