Req #14285 [Com]: Forcing variable declaration

2012-01-03 Thread matt at mattandwell dot net
Edit report at https://bugs.php.net/bug.php?id=14285&edit=1

 ID: 14285
 Comment by: matt at mattandwell dot net
 Reported by:pnh102 at psu dot edu
 Summary:Forcing variable declaration
 Status: Open
 Type:   Feature/Change Request
 Package:Scripting Engine problem
 Operating System:   *
 PHP Version:*
 Block user comment: N
 Private report: N

 New Comment:

This would be a great option to add in error_reporting, consider the following 
script.

ini_set("error_reporting", E_ALL|E_STRICT);

class test1
{
private $m1 = "initial value in t1";

public function setVarsTest()
{
$this->m1 = "in t1";
}

public function showValues()
{
echo(")".$this->m1."(");
}
}

class test2 extends test1
{
public function setVarsTest()
{
$this->m1 = "in t2";
}
}

$t1 = new test1();
$t1->setVarsTest();
$t1->showValues();

$t2 = new test2();
$t2->setVarsTest();
$t2->showValues();


the output is:

)in t1(
)initial value in t1(

changing $m1 to protected solves the issue, but tracking down issues like this 
after a refactoring session could be easier if PHP had this feature.

"$t2->setVarsTest();" would generate a notice in the above code.


Previous Comments:

[2008-06-13 11:27:34] gvdefence-ncr at yahoo dot it

This feature is necessary in PHP.
Try this simple example:

error_reporting(E_ALL | E_NOTICE | E_STRICT); //E_STRICT for PHP5
class Test
{
   var $mispelled_var;

   function Test($test)
   {  
  $this->$mispeled_var = $test;
  
  /*
  ERROR: we think to instantiate $this->mispelled_var, but
  we forgot an 'l' and we are instantiating a new var.
  PHP does not raise any error or warning or notice.
  */  
   }
};

All other languages would raise an error or at least a warning.
I love PHP and I want it to grow, this is a neccesary feature.
It is necessary to add a sort of gobal option that when activated makes PHP 
sensible to these type of errors.


[2004-07-22 09:49:24] jeffrparsons at optushome dot com dot au

I agree this is a very major issue, and it scares people I know away from using 
PHP. It would be extremely convenient to have warnings on assignment as well - 
instead of just upon reading a non-existent variable - and instead of creating 
a variable when a value is first assigned to it, require a separate declaration 
using a "var" keyword or such. Obviously not as standard, but as an option...


[2003-08-13 14:35:52] lsemel at yahoo dot com

This is an important issue.  E_ALL doesn't catch everything.  It makes PHP 
harder to program compared to other languages where you can declare variables 
(Perl, Java, etc.)


[2003-07-16 15:36:44] andrew_nefsky at hotmail dot com

This is definitely an important issue.  Not being able to declare variables 
creates a debugging nightmare!


[2002-11-19 08:06:07] z95kahe at mtek dot chalmers dot se

I realy think this is good idea. I've been looking for some tool to do this 
kind of checks and found none.

For small scripts there is no need to have variable declaring but there are for 
longer multi file, multi developer projects. By making the checks an option we 
can have both modes available.




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

https://bugs.php.net/bug.php?id=14285


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=14285&edit=1


#14285 [Com]: Forcing variable declaration

2008-06-13 Thread gvdefence-ncr at yahoo dot it
 ID:   14285
 Comment by:   gvdefence-ncr at yahoo dot it
 Reported By:  pnh102 at psu dot edu
 Status:   Open
 Bug Type: Feature/Change Request
 Operating System: Redhat Linux 7.2
 PHP Version:  4.0.6
 New Comment:

This feature is necessary in PHP.
Try this simple example:

error_reporting(E_ALL | E_NOTICE | E_STRICT); //E_STRICT for PHP5
class Test
{
   var $mispelled_var;

   function Test($test)
   {  
  $this->$mispeled_var = $test;
  
  /*
  ERROR: we think to instantiate $this->mispelled_var, but
  we forgot an 'l' and we are instantiating a new var.
  PHP does not raise any error or warning or notice.
  */  
   }
};

All other languages would raise an error or at least a warning.
I love PHP and I want it to grow, this is a neccesary feature.
It is necessary to add a sort of gobal option that when activated makes
PHP sensible to these type of errors.


Previous Comments:


[2004-07-22 09:49:24] jeffrparsons at optushome dot com dot au

I agree this is a very major issue, and it scares people I know away
from using PHP. It would be extremely convenient to have warnings on
assignment as well - instead of just upon reading a non-existent
variable - and instead of creating a variable when a value is first
assigned to it, require a separate declaration using a "var" keyword or
such. Obviously not as standard, but as an option...



[2003-08-13 14:35:52] lsemel at yahoo dot com

This is an important issue.  E_ALL doesn't catch everything.  It makes
PHP harder to program compared to other languages where you can declare
variables (Perl, Java, etc.)



[2003-07-16 15:36:44] andrew_nefsky at hotmail dot com

This is definitely an important issue.  Not being able to declare
variables creates a debugging nightmare!



[2002-11-19 08:06:07] z95kahe at mtek dot chalmers dot se

I realy think this is good idea. I've been looking for some tool to do
this kind of checks and found none.

For small scripts there is no need to have variable declaring but there
are for longer multi file, multi developer projects. By making the
checks an option we can have both modes available.



[2001-11-29 11:39:07] [EMAIL PROTECTED]


this would only catch read usage of undefined variables,
but not assigning values to them

see:



nothing in PHP will warn you that you have a typo
in the second assignment, so creating a new variable
unintended


... moved to feature requests ...



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/14285

-- 
Edit this bug report at http://bugs.php.net/?id=14285&edit=1



#14285 [Com]: Forcing variable declaration

2004-07-22 Thread jeffrparsons at optushome dot com dot au
 ID:   14285
 Comment by:   jeffrparsons at optushome dot com dot au
 Reported By:  pnh102 at psu dot edu
 Status:   Open
 Bug Type: Feature/Change Request
 Operating System: Redhat Linux 7.2
 PHP Version:  4.0.6
 New Comment:

I agree this is a very major issue, and it scares people I know away
from using PHP. It would be extremely convenient to have warnings on
assignment as well - instead of just upon reading a non-existent
variable - and instead of creating a variable when a value is first
assigned to it, require a separate declaration using a "var" keyword or
such. Obviously not as standard, but as an option...


Previous Comments:


[2003-08-13 14:35:52] lsemel at yahoo dot com

This is an important issue.  E_ALL doesn't catch everything.  It makes
PHP harder to program compared to other languages where you can declare
variables (Perl, Java, etc.)



[2003-07-16 15:36:44] andrew_nefsky at hotmail dot com

This is definitely an important issue.  Not being able to declare
variables creates a debugging nightmare!



[2002-11-19 08:06:07] z95kahe at mtek dot chalmers dot se

I realy think this is good idea. I've been looking for some tool to do
this kind of checks and found none.

For small scripts there is no need to have variable declaring but there
are for longer multi file, multi developer projects. By making the
checks an option we can have both modes available.



[2001-11-29 11:39:07] [EMAIL PROTECTED]


this would only catch read usage of undefined variables,
but not assigning values to them

see:



nothing in PHP will warn you that you have a typo
in the second assignment, so creating a new variable
unintended


... moved to feature requests ...



[2001-11-29 11:20:18] [EMAIL PROTECTED]

set error_reporting to E_ALL, and you'll see all undefined vars.
However, it doesn't force the use of it.

Derick



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/14285

-- 
Edit this bug report at http://bugs.php.net/?id=14285&edit=1


#14285 [Com]: Forcing variable declaration

2003-08-14 Thread lsemel at yahoo dot com
 ID:   14285
 Comment by:   lsemel at yahoo dot com
 Reported By:  pnh102 at psu dot edu
 Status:   Open
 Bug Type: Feature/Change Request
 Operating System: Redhat Linux 7.2
 PHP Version:  4.0.6
 New Comment:

This is an important issue.  E_ALL doesn't catch everything.  It makes
PHP harder to program compared to other languages where you can declare
variables (Perl, Java, etc.)


Previous Comments:


[2003-07-16 15:36:44] andrew_nefsky at hotmail dot com

This is definitely an important issue.  Not being able to declare
variables creates a debugging nightmare!



[2002-11-19 08:06:07] z95kahe at mtek dot chalmers dot se

I realy think this is good idea. I've been looking for some tool to do
this kind of checks and found none.

For small scripts there is no need to have variable declaring but there
are for longer multi file, multi developer projects. By making the
checks an option we can have both modes available.



[2001-11-29 11:39:07] [EMAIL PROTECTED]


this would only catch read usage of undefined variables,
but not assigning values to them

see:



nothing in PHP will warn you that you have a typo
in the second assignment, so creating a new variable
unintended


... moved to feature requests ...



[2001-11-29 11:20:18] [EMAIL PROTECTED]

set error_reporting to E_ALL, and you'll see all undefined vars.
However, it doesn't force the use of it.

Derick



[2001-11-29 11:17:16] pnh102 at psu dot edu

Is there a way to make PHP force you to declare variables like "option
explicit" in VBScript or "use strict" in Perl?  If not, will this
feature become available?  While this is not really a bug, it might be
a nice feature to have available.




-- 
Edit this bug report at http://bugs.php.net/?id=14285&edit=1



#14285 [Com]: Forcing variable declaration

2003-07-16 Thread andrew_nefsky at hotmail dot com
 ID:   14285
 Comment by:   andrew_nefsky at hotmail dot com
 Reported By:  pnh102 at psu dot edu
 Status:   Open
 Bug Type: Feature/Change Request
 Operating System: Redhat Linux 7.2
 PHP Version:  4.0.6
 New Comment:

This is definitely an important issue.  Not being able to declare
variables creates a debugging nightmare!


Previous Comments:


[2002-11-19 08:06:07] z95kahe at mtek dot chalmers dot se

I realy think this is good idea. I've been looking for some tool to do
this kind of checks and found none.

For small scripts there is no need to have variable declaring but there
are for longer multi file, multi developer projects. By making the
checks an option we can have both modes available.



[2001-11-29 11:39:07] [EMAIL PROTECTED]


this would only catch read usage of undefined variables,
but not assigning values to them

see:



nothing in PHP will warn you that you have a typo
in the second assignment, so creating a new variable
unintended


... moved to feature requests ...



[2001-11-29 11:20:18] [EMAIL PROTECTED]

set error_reporting to E_ALL, and you'll see all undefined vars.
However, it doesn't force the use of it.

Derick



[2001-11-29 11:17:16] pnh102 at psu dot edu

Is there a way to make PHP force you to declare variables like "option
explicit" in VBScript or "use strict" in Perl?  If not, will this
feature become available?  While this is not really a bug, it might be
a nice feature to have available.




-- 
Edit this bug report at http://bugs.php.net/?id=14285&edit=1



#14285 [Com]: Forcing variable declaration

2002-11-19 Thread z95kahe
 ID:   14285
 Comment by:   [EMAIL PROTECTED]
 Reported By:  [EMAIL PROTECTED]
 Status:   Open
 Bug Type: Feature/Change Request
 Operating System: Redhat Linux 7.2
 PHP Version:  4.0.6
 New Comment:

I realy think this is good idea. I've been looking for some tool to do
this kind of checks and found none.

For small scripts there is no need to have variable declaring but there
are for longer multi file, multi developer projects. By making the
checks an option we can have both modes available.


Previous Comments:


[2001-11-29 11:39:07] [EMAIL PROTECTED]


this would only catch read usage of undefined variables,
but not assigning values to them

see:



nothing in PHP will warn you that you have a typo
in the second assignment, so creating a new variable
unintended


... moved to feature requests ...



[2001-11-29 11:20:18] [EMAIL PROTECTED]

set error_reporting to E_ALL, and you'll see all undefined vars.
However, it doesn't force the use of it.

Derick



[2001-11-29 11:17:16] [EMAIL PROTECTED]

Is there a way to make PHP force you to declare variables like "option
explicit" in VBScript or "use strict" in Perl?  If not, will this
feature become available?  While this is not really a bug, it might be
a nice feature to have available.




-- 
Edit this bug report at http://bugs.php.net/?id=14285&edit=1