PHP5 is in RC2 stage at the moment. I'm not sure if this is far, but the fact that it's an RC release, and not a beta, means they're finishing up for a PHP5 final version, I think.
As for XOOPS3, the development path I discussed with Bunny is that it would be great to present the first public beta (which is a developers milestone) at the fall edition of the PHP conference, which is held from 7 till 10 november 2004 (in Karlsruhe, Germany).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Although Karlsruhe is not very far (about 200km) from Frankfurt, the actual venue of the conference, I thought it would be a point worth mentioning ;-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
"RC" (= Release Candidate) status means that all features are in place now and there will be no more feature changes for the release. The RC version is deemed stable, and if no more major bugs are found in it, it will simply be renamed to "final" and released.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
PHP5 has many advantages over PHP4 when it comes to OOP (Object Oriented Programming). Things you can't do with PHP4, or only with large circumventions. I'm no PHP expert by far but every developer I talked to about this confirms it: PHP5 is the Next Step and greatly enhances OOP possibilities.
Since XOOPS's architecture relies heavily on Object Orientation, I'd say that yes, XOOPS absolutely needs the enhancements that PHP5 brings. This means that there will be a couple of backward compatibility issues (which PHP will address too), but it's an important choice: it's one or the other. Both is not a real option.
Herko
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Staying compatible with PHP4 _and_ 5 essentially means programming in PHP4 while making sure not to use any of the functions that have changed in PHP5. (Which is what we certainly have to do if we decide to stick with PHP4.)
If we want to use any of the new features introduced in PHP5, we automatically loose backwards compatibility with PHP4.
The main question is how quickly hosters will adopt PHP5. The fact that some still run version 4.0.6 which was released almost 3 years ago makes me a little pessimistic there, but on the otherhand I think a hoster who ignores 3 years of fixes for bugs and security holes (some of them major) is not one where I would want to host a Xoops site.
I think a good idea would be to do 2 things:
a) Make a poll on xoops.org asking what version of PHP people's hosters are currently running.
b) Ask people to ask their hosters how soon after the official release they are planning to offer PHP5 support.
c) optionally: isn't there a module around for doing surveys?
That poll/survey should be advertised in a "message from admins to all members" to maximize feedback. That should give us a pretty good overview of the current and future situation and make the decision a bit easier.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> a) Make a poll on xoops.org asking what version of PHP people's hosters are currently running.
I remember the latest poll asking people what version of MySQL they used on xoops.org saw everybody answer 'MySQL 4.1' :-(.
Maybe the e-mail survey idea would be good.
Otherwise we talked about having a "sysinfo" page in the admin section that could be added to 2.2 and used for this: it would show a simplified phpinfo + xoops stuff page that people can send by e-mail for support requests (people taking care of user support asked this a lot), but we could send users to this page during installation / ask them if they want to send it to us for stat purposes after.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Results from the poll on xoops.org (was held in january 2003)
4.0.6 or older 9 % (136)
4.1.x 10 % (138)
4.2.x 25 % (345)
4.3.x 43 % (599)
PHP? 10 % (145)
Herko
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
A personal opinion, which is JUST my opinion and not necessarily the only one acceptable to me, is that we focus on XOOPS being an OO system - and since PHP5 focuses so much on object orientation, I think it is a natural move for XOOPS to distinguish ourselves by not only being compatible with PHP5 but actually USE the benefits from it.
I read the various comments on PHP5 that it will be faster than PHP4 - but it may be that it is "just" the OO part of PHP4, which will be faster in PHP5. Can someone enlighten me in this area? If PHP5 in general (structural and OO programming) is faster than PHP4, I think the decision is made for us - if not, we need to consider it carefully.
I think that we with 2.0.7 and 2.2 will have a strong product, which can satisfy the users, who are on hosts with PHP4 - but the grass is always greener on the other side, so they may feel that we abandon them, but I think that there should be a limit to back-compatibility.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's true that the success of XOOPS is (for a part) its OO approach. For me, it was what have
made my choice two years ago.
So the future of XOOPS is PHP5 with the new
OO functionnality.
mithyt2 is in the good way (for me). Perhaps the 2.07, 2.2 , .., 2.5 ? version of XOOPS are PHP4
and PHP5 compatible and the future version
XOOPS 3 is more than just a new version but perhaps a new vision with the massive use
of PHP5.
It is the same when XOOPS core team had
decided to move to Smarty in the XOOPS 2
and some people stayed with 1.3.XX.
If XOOPS 3 is for year 2005, most of hosters will adopt PHP5 next year. I hope !!
So a possible way is :
XOOPS 2.2, 2.X : PHP4 and PHP5 compatible.
XOOPS 3 : Totally PHP5
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My memories are that PHP4 adoption was quite fast. At that time there were not as many PHP-based websites and hosting companies, for sure, but I believe most people who choose to base their activity on PHP are reactive and that we should plan for a fast adoption of PHP5.
For sure there are still companies offering PHP4.0.6 around, but as it has been said they are low-value companies, not low-cost ones (here in France the 3 cheapest known companies all offer a 4.3.x platform) and we shouldn't consider them.
In fact, the only things that may slow all this down, are IMO additional reasons for us to adopt it early:
- An uncontrolled event such as a buggy final version would me very bad: so the more widely we (and everybody) use the actual RCs the best for everybody afterwards.
- I guess some new CMS "based on PHP5" will be quite scary :-(. I can already imagine frameworks where all properties assignments generate a function call and that use a high-technology XSLT-based theme engine.
A lot of the new PHP5 features, although quite interesting, can be easily misused and lead to the birth of monster applications (and if too many of those are widely used, hosting companies may think twice and keep PHP4 "that works for them").
So I think we should consider doing a PHP5 version quickly.
Now, for the other points I heard, IMO:
Compatibility: I've seen a patch on xoops.org from someone saying he had achieved PHP5 compatibility ( http://www.xoops.org/modules/newbb/viewtopic.php?viewmode=flat&topic_id=18176&forum=14 ) and I'm going to check this further. While I guess there may be problems and this has to be really tested, I believe it can be achieved and we'll try to have a Xoops 2.X version compatible with both PHP4 and PHP5 if its reasonnably possible;-).
Exploitation:
- I don't like the autoload() feature, and this will be better replaced by a global factory.
- You don't need interfaces support at language-level to think in term of interfaces
- Some advantages of private props/methods can be replaced by a good technical documentation (so people would know what we really support and what they're not allowed to touch).
- XML will only be useful in the highest level layers of the core, so we have a lot to take care of before we REALLY need it.
Now there are several really interesting (even more than that) features and I believe we can use them to make a kick-ass content management/data access architecture, so we should bet on this version and use PHP5 features when we want, planning for its early adoption, specially if we manage to release a 2.x version compatible with both 4 & 5 that would help people switch flawlessly, and considering that in that time the local refactorings of Xoops2 (authentication, output) shouldn't miss PHP5 features too much while bring a lot to users / devs already.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I asked my own hosting provider and here's their reply:
We're currently using PHP 5 ourselves on our development servers, as it's Object model is far super to PHP 4's.
However I can't really say for sure how long it would be until we upgraded to PHP 5 - it's a big upgrade. Upgrading to PHP 5 will break a lot of customer's scripts. Indeed, upgrading from PHP 4.2 to 4.3 a while ago caused a lot of customer moaning due to things no longer working.
Sadly customers tend to blame their hosting provider when their Forum/Shopping system/etc breaks after an upgrade, and they don't see the "I need to upgrade my Forum to fix this" side.
So it's hard to say. But I would imagine within 6 months of PHP 5 being classified as Stable.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Do you think they would start by offering PHP5 as a filter for *.PHP5 files like around the time of php3 -> php4? (*.php3, *.php4). How many placed in XOOPS are hard-coded with .PHP as the extension?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The more I think about PHP5 and XOOPS, the more I think that we should go with PHP5.
We will still have a good product in 2.2, but what XOOPS needs is a total reworking to get rid of all that backwards compatibility and legacy code lying around and making the system hard to read - and if we do that, we will probably lose the modules and themes anyway, so we might as well do what's best for the future, which I am convinced will be PHP5.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> Internet Sevice Providers have updated their versions of Php 4
> because of some security problems. Php5 is "just" better for
> prorgammers.
>
> Upgrading from a version to an other costs time and money. Don't
> except them to upgrade to php5 because Xoops 3 used php5
At one point, they did upgrade from PHP3 to PHP4, even though it was
"just" better for programmers. I expect the same to happen with PHP5
when it is released, as hosters are constantly trying to offer better
features than the competition, and as soon as one offers it, everybody
else will too.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Can we decide on this? Are we comfortable enough to make a more or less fair decision?
I have in the past week looked more into the core structure in an attempt to make UML diagrams over the most important classes and I found a lot of backwards compatibility code, deprecated functions and methods, entire classes which should not be used, no clear boundary between classes in Class and Kernel folders because of backwards compatibility, header.php and footer.php cluttered because it should support Smarty themes as well as PHP themes...
All that, I would like to get rid of in Xoops 3 - thus marking a new era, a new system, a new programming language version.
There will be a big task in porting modules and themes to a new framework, but I believe that it is time well spent. Many modules out there look absolutely crap, when looking at the code and could do with a cleanup anyway.
We see new CMS's emerge, which are different, easy to overview, easy to use because they do not have the confusing backwards compatibility code and can start with a clean sheet.
I think we can take the good things in XOOPS, make them better and flush out the bad things.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I would love to see PHP5 as a standard for xoops3.
This might mean a slower adoption rate, as people will have to first wait for their hosting provider to upgrade, however it might also mean a longer life cycle for xoops 3.0.1.
If PHP5 isn't used for xoops3 there will be much demand for php5 support shortly after xoops 3 gets out of the starting gates.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As I have stated previously, I would never trust a hosting provider who is using a php version that is 3(!) years old. There have been very substantial sercurity holes fixed in that time, so how can you trust a hoster that ignores those updates?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Not much more to say...
From a programmer's point of view, I'd naturally love to user PHP5, but nobody has a real idea about how fast web hosting companies will adopt it.
What do you think?
What's the timeframe for PHP5 and Xoops 3?
Herko told me something like November for Xoops 3 is an aiming point - but how far is the development of PHP 5?
PHP5 is in RC2 stage at the moment. I'm not sure if this is far, but the fact that it's an RC release, and not a beta, means they're finishing up for a PHP5 final version, I think.
As for XOOPS3, the development path I discussed with Bunny is that it would be great to present the first public beta (which is a developers milestone) at the fall edition of the PHP conference, which is held from 7 till 10 november 2004 (in Karlsruhe, Germany).
Although Karlsruhe is not very far (about 200km) from Frankfurt, the actual venue of the conference, I thought it would be a point worth mentioning ;-)
"RC" (= Release Candidate) status means that all features are in place now and there will be no more feature changes for the release. The RC version is deemed stable, and if no more major bugs are found in it, it will simply be renamed to "final" and released.
A question : Is XOOPS 3 need absolutely the new PHP5 features ?
I think that XOOPS 3 need to be PHP4 and PHP5 compliant, if it possible.
PHP5 has many advantages over PHP4 when it comes to OOP (Object Oriented Programming). Things you can't do with PHP4, or only with large circumventions. I'm no PHP expert by far but every developer I talked to about this confirms it: PHP5 is the Next Step and greatly enhances OOP possibilities.
Since XOOPS's architecture relies heavily on Object Orientation, I'd say that yes, XOOPS absolutely needs the enhancements that PHP5 brings. This means that there will be a couple of backward compatibility issues (which PHP will address too), but it's an important choice: it's one or the other. Both is not a real option.
Herko
Staying compatible with PHP4 _and_ 5 essentially means programming in PHP4 while making sure not to use any of the functions that have changed in PHP5. (Which is what we certainly have to do if we decide to stick with PHP4.)
If we want to use any of the new features introduced in PHP5, we automatically loose backwards compatibility with PHP4.
The main question is how quickly hosters will adopt PHP5. The fact that some still run version 4.0.6 which was released almost 3 years ago makes me a little pessimistic there, but on the otherhand I think a hoster who ignores 3 years of fixes for bugs and security holes (some of them major) is not one where I would want to host a Xoops site.
I think a good idea would be to do 2 things:
a) Make a poll on xoops.org asking what version of PHP people's hosters are currently running.
b) Ask people to ask their hosters how soon after the official release they are planning to offer PHP5 support.
c) optionally: isn't there a module around for doing surveys?
That poll/survey should be advertised in a "message from admins to all members" to maximize feedback. That should give us a pretty good overview of the current and future situation and make the decision a bit easier.
> a) Make a poll on xoops.org asking what version of PHP people's hosters are currently running.
I remember the latest poll asking people what version of MySQL they used on xoops.org saw everybody answer 'MySQL 4.1' :-(.
Maybe the e-mail survey idea would be good.
Otherwise we talked about having a "sysinfo" page in the admin section that could be added to 2.2 and used for this: it would show a simplified phpinfo + xoops stuff page that people can send by e-mail for support requests (people taking care of user support asked this a lot), but we could send users to this page during installation / ask them if they want to send it to us for stat purposes after.
Results from the poll on xoops.org (was held in january 2003)
4.0.6 or older 9 % (136)
4.1.x 10 % (138)
4.2.x 25 % (345)
4.3.x 43 % (599)
PHP? 10 % (145)
Herko
A personal opinion, which is JUST my opinion and not necessarily the only one acceptable to me, is that we focus on XOOPS being an OO system - and since PHP5 focuses so much on object orientation, I think it is a natural move for XOOPS to distinguish ourselves by not only being compatible with PHP5 but actually USE the benefits from it.
I read the various comments on PHP5 that it will be faster than PHP4 - but it may be that it is "just" the OO part of PHP4, which will be faster in PHP5. Can someone enlighten me in this area? If PHP5 in general (structural and OO programming) is faster than PHP4, I think the decision is made for us - if not, we need to consider it carefully.
I think that we with 2.0.7 and 2.2 will have a strong product, which can satisfy the users, who are on hosts with PHP4 - but the grass is always greener on the other side, so they may feel that we abandon them, but I think that there should be a limit to back-compatibility.
It's true that the success of XOOPS is (for a part) its OO approach. For me, it was what have
made my choice two years ago.
So the future of XOOPS is PHP5 with the new
OO functionnality.
mithyt2 is in the good way (for me). Perhaps the 2.07, 2.2 , .., 2.5 ? version of XOOPS are PHP4
and PHP5 compatible and the future version
XOOPS 3 is more than just a new version but perhaps a new vision with the massive use
of PHP5.
It is the same when XOOPS core team had
decided to move to Smarty in the XOOPS 2
and some people stayed with 1.3.XX.
If XOOPS 3 is for year 2005, most of hosters will adopt PHP5 next year. I hope !!
So a possible way is :
XOOPS 2.2, 2.X : PHP4 and PHP5 compatible.
XOOPS 3 : Totally PHP5
My memories are that PHP4 adoption was quite fast. At that time there were not as many PHP-based websites and hosting companies, for sure, but I believe most people who choose to base their activity on PHP are reactive and that we should plan for a fast adoption of PHP5.
For sure there are still companies offering PHP4.0.6 around, but as it has been said they are low-value companies, not low-cost ones (here in France the 3 cheapest known companies all offer a 4.3.x platform) and we shouldn't consider them.
In fact, the only things that may slow all this down, are IMO additional reasons for us to adopt it early:
- An uncontrolled event such as a buggy final version would me very bad: so the more widely we (and everybody) use the actual RCs the best for everybody afterwards.
- I guess some new CMS "based on PHP5" will be quite scary :-(. I can already imagine frameworks where all properties assignments generate a function call and that use a high-technology XSLT-based theme engine.
A lot of the new PHP5 features, although quite interesting, can be easily misused and lead to the birth of monster applications (and if too many of those are widely used, hosting companies may think twice and keep PHP4 "that works for them").
So I think we should consider doing a PHP5 version quickly.
Now, for the other points I heard, IMO:
Compatibility: I've seen a patch on xoops.org from someone saying he had achieved PHP5 compatibility ( http://www.xoops.org/modules/newbb/viewtopic.php?viewmode=flat&topic_id=18176&forum=14 ) and I'm going to check this further. While I guess there may be problems and this has to be really tested, I believe it can be achieved and we'll try to have a Xoops 2.X version compatible with both PHP4 and PHP5 if its reasonnably possible;-).
Exploitation:
- I don't like the autoload() feature, and this will be better replaced by a global factory.
- You don't need interfaces support at language-level to think in term of interfaces
- Some advantages of private props/methods can be replaced by a good technical documentation (so people would know what we really support and what they're not allowed to touch).
- XML will only be useful in the highest level layers of the core, so we have a lot to take care of before we REALLY need it.
Now there are several really interesting (even more than that) features and I believe we can use them to make a kick-ass content management/data access architecture, so we should bet on this version and use PHP5 features when we want, planning for its early adoption, specially if we manage to release a 2.x version compatible with both 4 & 5 that would help people switch flawlessly, and considering that in that time the local refactorings of Xoops2 (authentication, output) shouldn't miss PHP5 features too much while bring a lot to users / devs already.
I asked my own hosting provider and here's their reply:
We're currently using PHP 5 ourselves on our development servers, as it's Object model is far super to PHP 4's.
However I can't really say for sure how long it would be until we upgraded to PHP 5 - it's a big upgrade. Upgrading to PHP 5 will break a lot of customer's scripts. Indeed, upgrading from PHP 4.2 to 4.3 a while ago caused a lot of customer moaning due to things no longer working.
Sadly customers tend to blame their hosting provider when their Forum/Shopping system/etc breaks after an upgrade, and they don't see the "I need to upgrade my Forum to fix this" side.
So it's hard to say. But I would imagine within 6 months of PHP 5 being classified as Stable.
Do you think they would start by offering PHP5 as a filter for *.PHP5 files like around the time of php3 -> php4? (*.php3, *.php4). How many placed in XOOPS are hard-coded with .PHP as the extension?
"Do you think they would start by offering PHP5 as a filter for *.PHP5 files like around the time of php3 -> php4? (*.php3, *.php4)."
--------
Is it possible to specify which version of PHP to use on a per-directory basis?
P.S. When I say "per-directory basis", I mean keeping the file extension .php, but letting the path determine the PHP version.
The more I think about PHP5 and XOOPS, the more I think that we should go with PHP5.
We will still have a good product in 2.2, but what XOOPS needs is a total reworking to get rid of all that backwards compatibility and legacy code lying around and making the system hard to read - and if we do that, we will probably lose the modules and themes anyway, so we might as well do what's best for the future, which I am convinced will be PHP5.
Hi,
Internet Sevice Providers have updated their versions of Php 4 because of some security problems. Php5 is "just" better for prorgammers.
Upgrading from a version to an other costs time and money. Don't except them to upgrade to php5 because Xoops 3 used php5
> Internet Sevice Providers have updated their versions of Php 4
> because of some security problems. Php5 is "just" better for
> prorgammers.
>
> Upgrading from a version to an other costs time and money. Don't
> except them to upgrade to php5 because Xoops 3 used php5
At one point, they did upgrade from PHP3 to PHP4, even though it was
"just" better for programmers. I expect the same to happen with PHP5
when it is released, as hosters are constantly trying to offer better
features than the competition, and as soon as one offers it, everybody
else will too.
Can we decide on this? Are we comfortable enough to make a more or less fair decision?
I have in the past week looked more into the core structure in an attempt to make UML diagrams over the most important classes and I found a lot of backwards compatibility code, deprecated functions and methods, entire classes which should not be used, no clear boundary between classes in Class and Kernel folders because of backwards compatibility, header.php and footer.php cluttered because it should support Smarty themes as well as PHP themes...
All that, I would like to get rid of in Xoops 3 - thus marking a new era, a new system, a new programming language version.
There will be a big task in porting modules and themes to a new framework, but I believe that it is time well spent. Many modules out there look absolutely crap, when looking at the code and could do with a cleanup anyway.
We see new CMS's emerge, which are different, easy to overview, easy to use because they do not have the confusing backwards compatibility code and can start with a clean sheet.
I think we can take the good things in XOOPS, make them better and flush out the bad things.
Agreed. I say we use PHP5 for XOOPS3. There. Desicion made :-) That wasn't so hard ;-)
Herko
I would love to see PHP5 as a standard for xoops3.
This might mean a slower adoption rate, as people will have to first wait for their hosting provider to upgrade, however it might also mean a longer life cycle for xoops 3.0.1.
If PHP5 isn't used for xoops3 there will be much demand for php5 support shortly after xoops 3 gets out of the starting gates.
I just did some work for a client (non-Xoops-related). His web hosting service (hostsave.com) has PHP 4.0.6 on the server. :rollseyes:
As I have stated previously, I would never trust a hosting provider who is using a php version that is 3(!) years old. There have been very substantial sercurity holes fixed in that time, so how can you trust a hoster that ignores those updates?