Posts Tagged ‘PHP’

duh :)

Tuesday, March 9th, 2010

Someone on chat asked me what switches he had to use to execute php on the command-line. He tried to execute a php script, and all the command returned was the contents of the script, instead of executing it.

At least… that was what he claimed. I don’t use php on the cli a lot, so just to be sure i wrote a quick test script, which executed flawless.

So I took a look at the script he tried to execute:

echo html_entitties_decode(file_get_contents($argv[0]));

So the script did exactly what was asked ;) outputting the content of the script itself, instead of outputting the content of the file given as 1st argument to the script.

hi hi.
He overlooked the fact that the 0-key of the argv array holds the name of the script itself, instead of the 1st argument given on the cli :)

Thoughts on the take over of MySQL AB by Sun.

Thursday, January 17th, 2008

The buzz in the blogosphere yesterday could hardly be missed. MySQL AB and Sun Microsystems announced they reached a final agreement for the acquisition of MySQL AB by Sun Microsystems. First of all, I think that it is very important that there is a difference between MySQL AB (the company) and MySQL the open source Database engine.
MySQL doesn’t “own” MySQL. Mysql is an open source project, so the source is free to modify and use etc according to the GPL license.

The people of MySQL AB seem to be very happy with the take-over. I can imagine that. It will give for sure some financial ease of mind for the company and his employees and access to a large source of knowledge and resources. Somehow many people, including myself, have a suspicion against “the big corporations”. With the exception of Apple computers ofc :).
Don’t forget however that Sun has a decent and reliable history with Open Source. Open Office and making Java open source to name 2 big achievements of Sun.
I use MySQL now for close to 9 years. I have learned to love this database engine, discovering the more advanced features of SQL step by step. I only have used MySQL directly or interfaced by PHP.
I can only express my hope that Sun will support the continuous development of the MySQL API as used by the MySQLi or mysqlnd extensions of PHP.
Some analysts suspect that Sun is busy to build his “own” alternative to the classic LAMP (Linux, Apache, MySQL, PHP) stack. The Sun-Stack would be SAMJ (Solaris (opensourced!), Apache, MySQL, Java).
People should have the freedom to use and code the language they prefer.
I really hope it won’t be soon that if you want to have the full support for the capabilities of MySQL, you have to use a Java interface to interact with the database engine from a web-environment.

OOP programming for webapplications usefull?

Wednesday, August 31st, 2005

While coding (php5) on a new project today, I found myself struggling with the question to fit a collection of functions in a class or not. Or in other words, to maintain a procedural style, or more object orientated.
I only learned recently how to use objects and classes in php5 and I find myself mixing objects and procedural style within scripts. For instance, html templates and database abstraction is fitted in classes, while handling a form (collection -> validating ->processing) is done in a procedural style in my scripts.

I think that webapplication-coding is by nature more suitable for a procedural style. You have a very clear starting point and end. So the timeline in your script is very linear. Compare this with java, where applets mostly run in a loop waiting for userevents. The fundamental difference in nature (begin->end against looping) explains my struggle to code completely OOP with PHP.

Off course OOP has lots of advantages with PHP (execption handling, code reusability to name a few) but I think when coding webapplications, you will always find yourself coding a more or less procedural timeline within your script.

Entering the world of version control

Saturday, August 20th, 2005

Doing PHP development for several years now, I never really understood version control and how to integrate it with my web-application development. For “traditional” programming, it is clear. You create a repository, all the developers keep in sync and commit their updates. But being the whole development team yourself and have code that for 100% depends on the database stopped me from even try to set up a version control system.
Until last week. I just finished a project and was starting a new one, when I decided that this was the ideal moment for fiddling around with version control. I happened to have a golden oldie compaq proliant 1850R with RAID 5 disks AND a fresh install of freeBSD 5.4. Ideal for the task of becoming a CVS server….eh… cvs? subversion?

Being a total version control newbie, I did my googling and reading.
In one sentence: CVS is old and insecure, Subversion is hot and the talk of the town. CVS compares to Subversion as telnet to ssh.
And the fun thing? installing and setting up took me 1,5 hour. Using ports
there are basically two ports to install: Apache2 and Subversion.
Below are links to the pages I used for setting up my subversion server, but here are some hints/notes: (not a howto or tutorial! read the pages!)

Create a svn user and group, and adjust the umask of that user. I used: umask 002.

Build apache2 with WITH_BERKELEYDB=db42.
I have changed httpd.conf to have apache2 runs as svn user and group, this spares you from read/write issues when using Subversion with webdav.

Build Subversion with -DWITH_SVNSERVE_WRAPPER -DWITH_MOD_DAV_SVN.

Su -l to the SVN user, create the repository and import your initial project layout, confiure apache to serve the repository with webDAV and…you’re free to go!

It kicks ass!
I do my webdevelopment on my mac offcourse and I found svnX to be a fantastic client wrapper. 2, 3 hours after installing and setting up my first version control, I found myself wondering how I ever lived (eh..ok developed) without it.

The links I used:
onlamp – Setting up a Secure Subversion Server
the SVN book (free!)

macdev center- making the jump to subversion
onLamp – top ten tips for Subversion users
OS X Subversion client package (you need this for being able to use a gui front-end as svnX.
svnX
Versions Systems link collection

And because I always forget the exact procedure:
Apache+SSL on freeBSD

Recent addition is this article from RedHat, a introduction suited for both CVS users and those new to version control.

CVS is out, Subversion is in found with digg.com

Visual Programming with Java

Saturday, July 23rd, 2005

For my Open University course I have started with “Visual Programming with Java”.
I know it’s more fun as Discrete Math :)
And it’s quite fun to finally “learn” programming, as I’m a autodidact. The level is very very basic, but that doesn’t matter to me. In the last years my experience is that it can be very helpfull to really learn the basics.

The real fun is that I have to use windows again. The course uses Borland Jbuilder 8, with a license which only runs on windows XP according to the manual, but I use it on my very old windows98 machine without any problems.
And oh boy, what is an IDE fun. Programming like playing with LEGO.

“You have forgotten a semi-colon right here”.
Oh…thanks :)

Instead of digging through 2500 lines of code where that missing T_SPACE is…
Java is also fun to work with. Very straightforward and easier than C (no memory management / garbage collection needed). I really can tell know where PHP has it’s roots. It really helps me getting some insight in OOP concepts, which are used in PHP 5 as well.

btw…writing this on windows, Wordpress really looks better in Firefox as in Safari…damn.