On Sun, 2009-03-01 at 08:36 -0500, tedd wrote: > The OP asked: > > >Is there in PHP something like "use strict" from perl? I find it pretty > >annoying to need to run script over and over again just to find out that I > >made typo in variable name. > > And I've been waiting for an answer myself, but I haven't seen one. > > From what I remember, in perl if you use "use strict;" it requires to > to define your variables (my) before using them. If you make a > variable typo in your code, then you'll trigger an error when you try > to run it. > > From what I've seen of php, even with using strict error reporting, > you can do that all day long without generating an error. > > So the answer appears to be "No, you can't do that in PHP." Is that the answer? You can do anything you want... :) <?php class StrictProps { private $___init = true; function StrictProps( $props ) { $propsList = func_get_args(); foreach( $propsList as $props ) { if( is_array( $props ) ) { foreach( $props as $prop => $init ) { $this->{$prop} = $init; } } else { $this->{$props} = null; } } $this->___init = false; } function __set( $name, $value ) { if( !$this->___init ) { die( 'Attempt to set non-existent property: ' .get_class( $this ).'->'.$name."\n" ); } $this->{$name} = $value; } function __get( $name ) { die( 'Attempt to get non-existent property: ' .get_class( $this ).'->'.$name."\n" ); } } // // Declare strict properties... // $my = new StrictProps( 'foo', 'fee', 'fii' ); print_r( $my ); // // Declare and intialize strict properties... // $my = new StrictProps( array( 'foo' => 'Foo1', 'fee' => 'Fee1' ) ); print_r( $my ); echo $my->foo."\n"; echo $my->fee."\n"; echo $my->blah."\n"; ?> Cheers, Rob. -- http://www.interjinn.com Application and Templating Framework for PHP -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php