CodeIgniter Forums
$this->config in model breaks Output.php - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Archived Discussions (https://forum.codeigniter.com/forumdisplay.php?fid=20)
+--- Forum: Archived Development & Programming (https://forum.codeigniter.com/forumdisplay.php?fid=23)
+--- Thread: $this->config in model breaks Output.php (/showthread.php?tid=3432)



$this->config in model breaks Output.php - El Forum - 09-30-2007

[eluser]Crafter[/eluser]
Use of a local class variable $config breake /system/libraries/Output.php.
(suspect same for controllers etc)

To reproduce:

1. Step 1 : Create model
Code:
class MyModel extends Model {

var $config;

   function GalleryModel()
   {
      parent::Model();
      $this->obj =& get_instance();

      $this->config = '';

   }
}

2. Step 2. Create model instamce (in controller)
Code:
$this->load->model('mymodel');

Ouput.php breaks here (when trying to invole global $CFG
Code:
// Is compression requested?
                if ($CFG->item('compress_output') === TRUE)
                {
                        if (extension_loaded('zlib'))
                        ...
                 }

Thank you.


$this->config in model breaks Output.php - El Forum - 09-30-2007

[eluser]Derek Allard[/eluser]
Config is a reserved word. Do you htink that could account for this Crafter?


$this->config in model breaks Output.php - El Forum - 09-30-2007

[eluser]Crafter[/eluser]
It could, Derek, but I'm running PHP 5.1.2 , and the docs say the reserved word limitations apply to PHP 4.

It seems like the the documentation is misplaced, as it is listed under the controllers section. I'm experiencing this on a model.

It's definitely a scope issue, and typically because my Model inherits from the CI Model.

I've worked around this ny mapping my db field (config) to a copy variable.

Perhaps a recommendation is to prefix reserved words with 'ci_'.