Updated!: I have added a demo of svn running on php 5.0.5, php5.demo.ezcommunity.net
We are looking for several other users and developers in the eZ publish 2 community to sponsor the development, documentation and release of php4.4 -> php5.1 improvements to eZ publish 2.3. Contact Brookins Consulting for more information.
Backstory …
I was working on some server administration this weekend (very hush hush mumbojumbo
).
I started thinking about using eZ publish 2 on versions of PHP greater than 4.3.9, say like 4.4.x or even php 5.0.x
I have been meaning to checkout eZ publish 2.3 (svn) and do a little more work to the community build in svn, review extra modules in svn as contributions, give a little more back to the community. (Is anyone even listening or care anymore
) No matter I do what I do and so will you.
Results of testing at first glance (php5) ..
- As normal with eZ publish 2 (on newer versions of php 4). eZ publish 2 generates a lot of php `warnings` in the httpd error log file.
- It seems that many of the index page errors (running under php5) are of a more serious nature than normal php4 warnings
Seems that several new kinds of `warnings`, `notices` and `fatal errors`.
1) PHP Notice: Trying to get property of non-object
2) PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value;
3) PHP Fatal error: Cannot redeclare eZOnline::$OnlineTypeID
4) PHP Notice: Undefined variable: (most common)
5) PHP Warning: Invalid argument supplied for foreach() (second most common)
It seems that the core of eZ publish 2 has a number of places in the software code which are dependant on depricated PHP features, functionality, syntax, etc.
(more…)
I saw this interesting post this morning on digg and software-quality blog. Ideas to guide us all in the quality of our work in life.
Basics of the Unix Philosophy
From Eric Raymond’s “The Art of Unix Programming” I picked here the 17 rules described as the Basics of the Unix Philosophy. For me these are also rules for writing high quality software:
Rule of Modularity: Write simple parts connected by clean interfaces.
Rule of Clarity: Clarity is better than cleverness.
Rule of Composition: Design programs to be connected with other programs.
Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
Rule of Simplicity: Design for simplicity; add complexity only where you must.
Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
Rule of Transparency: Design for visibility to make inspection and debugging easier.
Rule of Robustness: Robustness is the child of transparency and simplicity.
Rule of Representation: Fold knowledge into data, so program logic can be stupid and robust.
Rule of Least Surprise: In interface design, always do the least surprising thing.
Rule of Silence: When a program has nothing surprising to say, it should say nothing.
Rule of Repair: Repair what you can — but when you must fail, fail noisily and as soon as possible.
Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
Rule of Diversity: Distrust all claims for one true way.
Rule of Extensibility: Design for the future, because it will be here sooner than you think.
Or even rules for living a high quality life !
I saw this come through my mail this morning.
A very interesting (to me, heh, only) prolly look at
eZ systems, eZ publish and the PHP community
and their sampleing, interaction and usage of each
other’s work.
(more…)