} public function doSomething() { return 'Something'; } public function aGenericMethod() { return 9000; } public function mixItUp() { return parent::aGenericMethod() . ' ' . parent::doSomething() . ' ' . $this->doSomething(); } } $a = new A(); $b = new B(); $c = new C(); $p = new TablePrinter(['Method', 'Result']); $p->addRow("A::aGenericMethod()", $a->aGenericMethod()); $p->addRow("B::aGenericMethod()", $b->aGenericMethod()); $p->addRow("C::aGenericMethod()", $c->aGenericMethod()); $p->addRow("B::doSomething()", $b->doSomething()); $p->addRow("C::doSomething()", $c->doSomething()); $p->addRow("C::mixItUp()", $c->mixItUp()); $p->output(); echo "\n\n"; $p = new TablePrinter(['Class', 'setting', 'anotherSetting']); $p->addRow("A", print_r($a->setting, true), print_r($a->anotherSetting, true)); $p->addRow("B", print_r($b->setting, true), print_r($b->anotherSetting, true)); $p->addRow("C", print_r($c->setting, true), print_r($c->anotherSetting, true)); $p->output();
$logger1 = new Gelembjuk\Logger\FileLogger(array('logfile' => $logfile, 'groupfilter' => 'all')); // pass created logger as argument // after object created and the method called you will see logs in your log file // at this moment all logs are written $application1 = new Application($logger1); $application1->doSomething(); // now wee loggeing from the class B $b1 = new B($logger1); $b1->doSomething(); // this shows how to use logger from other class where the trite is used // object of this class must be set to $this->application property $c1 = new C($application1); $c1->doSomething(); unset($application1); unset($b1); unset($c1); // ****** TEST 2 ****** // don't use existent logger, but create it inside $application2 = new Application(null); // we set filtering to `construct`. So only logs from constructors will be saved $application2->initLogger(array('logfile' => $logfile, 'groupfilter' => 'construct')); $application2->doSomething(); // get logger object reference from application $b2 = new B($application2->getLogger()); $b2->doSomething(); // this usage is same as above. Doesn't mapper how application created logger // this class will just reuse it $c2 = new C($application2); $c2->doSomething(); $logger = $application2->getLogger(); echo "Now see to your log file!";