Am 31.10.12 18:13, schrieb Adam Richardson:
> On Tue, Oct 30, 2012 at 7:33 AM, ma...@behnke.biz <ma...@behnke.biz> wrote:
>
>> In times of testability and several design patters, the use of static
>> calls is
>> really outdated.
>> I understand that you can read and write the invocations of the methods
>> much
>> faster, but you should think more to the future on that point.
>
> What?
>
> Where is it written that the use of static calls is really outdated?
> Functional programming is on the rise, and this is largely because of the
> virtues of testability, scalability, and simplified patterns. Using a class
> to organize a set of static functions can benefit the code in PHP (allow
> for autoloading in PHP because functions can't be autoloaded, essentially
> serves as a child namespace, etc.) whilst maintaining the benefits of a
> more functional approach (unit testing purely written static functions is
> much easier, putting all IO tasks in separate components makes for cleaner
> modules, etc.)
I mentioned in an earlier post on the list, why I - and "some others" -
think, the use of static methods is somehow outdated.

1. If you have code using static methods and members and use phpunit for
testing it, you have to either make sure, that everything is properly
resetted after use OR have to run phpunit in a mode where every test is
run in a single php call for itself. One is potentially harmful to the
test if you forgot some side effects and one is time consuming.

2. When thinking about dependency injection (give everything you use
inside, from the ouside in), show me how one can do this with classes
WITHOUT passing strings around? And without DI, how do you keep your
application flexible to different environments and conditions?
>
> I try to emulate functional approaches in PHP, such as what you'd find in
> Scala, Clojure, or Haskell, and static calls in PHP can facilitate this
> approach.
>
> While OOP is one way to approach programming, it's not the only way. Even
> Rasmus has said he leans procedurally:
> http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
Are you serious quoting that post?
Posted by Rasmus <http://toys.lerdorf.com/authors/1-Rasmus> on Monday,
February 27. 2006

>
> Adam
>


-- 
Marco Behnke
Dipl. Informatiker (FH), SAE Audio Engineer Diploma
Zend Certified Engineer PHP 5.3

Tel.: 0174 / 9722336
e-Mail: ma...@behnke.biz

Softwaretechnik Behnke
Heinrich-Heine-Str. 7D
21218 Seevetal

http://www.behnke.biz

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to