The problem is Prado has a Auto Loading process that can cause 3rd party or additional libraries to break and act strange if they also have a Auto Loading process.
The Solution is to turn off Prado's Auto Loading process, Load the 3rd party/Additional library and then turn Prado's Auto Loading process back on.
Here is what it looks like: (In this example I'm using the namespace instead of the path alias)
$phpExcelPath = Prado::getPathOfNamespace('Application.Core.php_excel.Classes');
// Disable Prado Auto Loading process
spl_autoload_unregister(array('Prado','autoload'));
// Add PHP Excel
require_once($phpExcelPath.'/PHPExcel.php');
require_once($phpExcelPath.'/PHPExcel/Writer/Excel2007.php');
// Do PHP Excel stuff here
// Reload Prado Auto Loading process
spl_autoload_register(array('Prado','autoload'));
Reference: http://www.ramirezcobos.com/2010/11/05/how-to-use-phpexcel-with-yii/
They are using YII but the process is very similar
There is a discussion here for possibly more information regarding this issue.
No comments:
Post a Comment