The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

PHP certainly affected Rails. Hanmeier-Hanson was a PHP'er before switching to Ruby.

Regarding the Java influence from Voostinde, I believe he switched to Java later. Most of his posts were pretty generic OO I'd say. Certainly more Design Patterns than any specific language.

How would Python influence PHP? I don't know as I don't use Python. PHP has become so Java'esque now, there doesn't seem much room for manouver.

Possibly metaclasses and a decent lambda syntax would be possible funky extensions. I think a ruby block syntax would be too much for the average PHP user out there. It would be nice if any class can override things like array operators and iteration. We could lose the SDO beaurocracy then.

If PHP had listened more to it's existing users rather than aiming at the new corporates, I'm sure we would have seen namespaces before type hints and interfaces.

If PHP had listened more to it's existing users rather than aiming at the new corporates, I'm sure we would have seen namespaces before type hints and interfaces.

I am not sure anything which is called namespaces in PHP will even be that useful. It appears the current proposal basically to allow for a namespace delimiter (probably ::: ) in the class name. Internal to the class, everything will have to be prefixed with the name space. There will be no capability to import classes and apply a namespace to them It could be I have misunderstood the proposal, but from the email traffic on the internals mailing list, that is what I understand.

I would love real namespace capability, but I have become pretty jaded regarding what is being proposed for PHP.

There will be no capability to import classes and apply a namespace to them It could be I have misunderstood the proposal, but from the email traffic on the internals mailing list, that is what I understand.

That is pretty pointless. I wonder what they consider to be a use case for this.

I certainly can't say one way or another how it affects other languages, but I can say that programming in multiple languages has an effect on how I view each one. I think that looking at how things are done in other languages helps me to keep a look out for ways to improve in different ones.

For example, when using ASP, I found out that it was much better to not concatenate strings together as it is a very slow process. But if you add all the parts that you would concatenate into an array, then join the array when done, I increased the speed of that operation more than tenfold. So I had to see if the same issue affected PHP as well (it was negligable).

I would certainly keep that in mind with any other language that I found myself using if the application I was building seemed to be excessively slow.

Sorry, haven't kept up with the thread.
Mainly things to do with managing projects, so we've introduced migrations into our php framework, and also automated our deployment processes much more, as inspired by using capistrano.

I know the Rails concept of MVC doesn't meet with everyone's approval, but since we're working with both technologies simultaneously our PHP framework and the way it organises applications has converged with Rails since it makes it easier to switch between technologies.

That is pretty pointless. I wonder what they consider to be a use case for this.

I can think of a use case -
When you are writing templates, there should be a way to mixin your html helper functions, that way you could make your specific template functions and then import them into the template class.

At the moment the only option for using functions in templates, without calling them statically, is to have them in the global namespace.

And in respect to things PHP could learn from ruby, I love the concept of open classes, I find being able to redeclare certain methods of a class extremely useful in reducing the amount of code you write... anyone disagree?

I can think of a use case -
When you are writing templates, there should be a way to mixin your html helper functions, that way you could make your specific template functions and then import them into the template class.

At the moment the only option for using functions in templates, without calling them statically, is to have them in the global namespace.

Except, as I understand the proposed "namespace" feature for PHP, it would not help your use case in the least. It would not allow you to call an objects methods inside the object any shorter than now, and it would not allow you to import functions into an "html" namespace which these could be looked up in. I think your idea of a namespace feature is more in line with what I believe would be functional, but it does not appear to be in line with what may eventually be deployed in PHP.

Except, as I understand the proposed "namespace" feature for PHP, it would not help your use case in the least. It would not allow you to call an objects methods inside the object any shorter than now, and it would not allow you to import functions into an "html" namespace which these could be looked up in. I think your idea of a namespace feature is more in line with what I believe would be functional, but it does not appear to be in line with what may eventually be deployed in PHP.

No I gather that from reading through the PHP proposal, but if you can't import a module and assign a namespace then essentially the PHP namespace is not going to be much of an advance on what we have now is it? The only problem it will solve is that of simplifying class naming and reducing the occurence of clashes, unless there's something else I'm missing.