DominoCMS / DominoCMS-Releases

Official distribution releases of DominoCMS.
Mozilla Public License 2.0
1 stars 2 forks source link

Migration to PHP 7 #3

Open DominoCMS opened 5 years ago

DominoCMS commented 5 years ago

The backend application (all php files) need to be reworked and updated to work with PHP 7.

maxalmonte14 commented 5 years ago

Should the files implement scalar type declarations and return type declarations?

DominoCMS commented 5 years ago

The answer is yes, everywhere where possible to achieve maximum efficiency.

The development of PHP7 version starts next week, so updated backend app code will be posted and real work can proceed then. The current one is deprecated, only for getting the general idea. Every step will be posted here, so you can tag along.

If you look at the /lib/DJS1-SF6-D1/items/Domino/App/classes folder, you will see the current backend app for now. You can see it live at www.dominocms.com - the site is working on the app based on this. As you will see, a lot of the function variables are actually arrays. That is because dynamic parameters are supplied for most of the templates, items, etc. So for the main app files, where there are not all array inputs, declaration can be implemented first. For array inputs there can be array declarations and further discussion on the array input structure.

maxalmonte14 commented 5 years ago

I would love to make a pull request addressing this issue.

Also I think it would be great adding composer for managing third party libraries and autoloading classes, along with a test suite.

lrobi2014 commented 5 years ago

Hi @maxalmonte14 - Have you started working on this?

maxalmonte14 commented 5 years ago

@lrobi2014 I haven't started, I was waiting for the owner's answer but like he didn't answer me I assumed they will work on their own.

DominoCMS commented 5 years ago

@maxalmonte14 @lrobi2014 Please write to open@dominocms.com and let's talk live to discuss the details and make the plan. Testing server for php7 has just been set up and the plan is to upload the updated code this week.

lrobi2014 commented 5 years ago

@DominoCMS Ok, sounds like a plan. @maxalmonte14 are you up for doing this as well?

maxalmonte14 commented 5 years ago

@lrobi2014 I think I'm passing, I prefer to collaborate in the future in a most friendly-to-contribute feature.

DominoCMS commented 5 years ago

Currently setting up the first DominoCMS site on the php7 testing server.

Looks like the only thing not working was the deprecated mysql db connection, now replaced with mysqli. So the basic code is already working and the task will be optimizing and like @maxalmonte14 proposed creating declarations, tests, etc.

DominoCMS commented 5 years ago

@maxalmonte14 I'm sorry it seems that way to you, but this is actually my first time doing this, so I'm not very well versed in it. I've spent many years coming to the point where I can offer this to the world, but some more time will have to pass and effort invested so that everything will fall into the right tracks and that it will not only be a great free product, but also a challenge for you the developers.

Saying that what is already true is that no other CMS has the speed, efficiency and performance that DominoCMS already has, so anyone who will get on board and believe the little proof they see, will contribute to something more than just a piece of non-working code, but to something that has the ability to disrupt everything, from speeding up the web, saving energy consumption of the servers to optimising the way data is managed, displayed and used.

So until I iron out the kinks probably most developers will pass it, because it's not yet well enough documented, licensed, standardised, etc. But it will. All you say will also be taken into account and fixed one step after another. I respect your decision and invite you to still stay close and follow me. Thanks for the initial enthusiasm!

Dominik Twitter @dominikcernelic

lrobi2014 commented 5 years ago

@DominoCMS Do I still need to write an email to open@dominocms.com?