/**
  * getConnection
  * Returns our cached connector if we have it
  * Creates a new one otherwise.
  *
  * @return PardotConnector
  */
 public function getConnection()
 {
     $connection = $this->connection;
     if ($connection === null) {
         $connection = new PardotConnector();
         $connection->authenticate();
         $this->connection = $connection;
     }
     return $connection;
 }
<?php

/**
 * Update Prospect Test
 * This is a basic action to populate a prospect object
 * Then we can use magical getters and setters
 * to update the data array.
 * This should work on default and custom fields.
 * LAST TESTED 6/6/2012
 */
include './PardotConnector.class.php';
include './Prospect.class.php';
$p = new Prospect();
$p = $p->fetchProspectByEmail('*****@*****.**');
$p->email = '*****@*****.**';
$p->save();
$p->email = '*****@*****.**';
$p->save();
$connector = new PardotConnector();
$connector->authenticate();
//Test our basic method
$prospect = $connector->prospectUpsert(array('email' => '*****@*****.**'));
$prospect = $connector->read('prospect', array('email' => '*****@*****.**'));
$prospect = $connector->prospectRead(array('email' => '*****@*****.**'));
//test account getter (no param)
$account = $connector->accountRead();
//basic method
$campaigns = $connector->query('campaign', array('updated_after' => 'last year'));
//fluid method
$connector->campaignQuery();
$connector->formQuery();