Posted by Jerry Stuckle on 09/18/07 12:37
RageARC wrote:
> Wow Usenet Groups rule this is better than a forum :D
>
> ---
>
> I tried to test some code and here's the result:
>
> INDEX.PHP
>
> <?php
> function __autoload($class_name) {
> require_once $class_name . '.php';
> }
>
> class container {
>
> public $database;
> public $html;
>
> function __construct() {
> $this->database = new database;
> $this->html = new html;
> }
>
> }
>
> $cont = new container();
> $cont->html->access_db();
> ?>
>
> DATABASE.PHP:
>
> <?php
> class database {
>
> function something() {
> return 'something';
> }
> }
> ?>
>
> HTML.PHP:
>
> <?php
> class html {
>
> function access_db() {
> print database::something();
> }
> }
> ?>
>
> It works, 100% tested ;). As you see, HTML is statically using a
> method from DATABASE without any static keywords or anything. Just
> code. I had already used this method before, and I didn't remember it.
> I only remembered now xD.
>
Yes, it works now. But that doesn't mean this hole won't be fixed in
future releases.
If you're calling a method statically, it needs to be defined as a
static method. Otherwise you have a bug waiting to happen.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|