""Nathan Nobbe"" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> On 10/9/07, Robert Cummings <[EMAIL PROTECTED]> wrote:
>>
>> Why would I use an interface? :)
>
> because inheritance is not always optimal.
I have never found a prolem when using an interface was the only solution,
or even ANY kind of solution. The fact that your designs need it speaks
volumes of the problems with your designs.
> What's the problem that's outlined? I'm too lazy to go and look :|
>
> /**
> * CI_BASE - For PHP 4
> *
> * This file is used only when CodeIgniter is being run under PHP 4.
> *
> * In order to allow CI to work under PHP 4 we had to make the Loader class
> * the parent of the Controller Base class. It's the only way we can
> * enable functions like $this->load->library('email') to instantiate
> * classes that can then be used within controllers as $this->email->send()
> *
> * PHP 4 also has trouble referencing the CI super object within
> application
> * constructors since objects do not exist until the class is fully
> * instantiated. Basically PHP 4 sucks...
> *
> * Since PHP 5 doesn't suffer from this problem so we load one of
> * two files based on the version of PHP being run.
> *
> * @package CodeIgniter
> * @subpackage codeigniter
> * @category front-controller
> * @author Rick Ellis
> * @link http://www.codeigniter.com/user_guide/
> */
>
> -nathan
>
There's your problem, then. You are wasting your time trying to implement
fancy design patterns just because design patterns are supposed to be
"cool". Loader class, Controller Base class, Front Controller - I have none
of that crap in my code, so I don't encounter the problems you have. When I
see code like "$this->load->library('email') " I just thank my lucky stars
that I don't have to maintain it. I think some serious refactoring is long
overdue.
Perhaps you are trying to implement something from another language and
expecting PHP to be just like that other language, which is always a stupid
mistake. PHP is different, therefore the solution will be different. I
suggest you learn how PHP works and design accordingly, and stop trying to
force it into emulating another language.
--
Tony Marston
http://www.tonymarston.net
http://www.radicore.org
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php