19.7.4 Cross-platform code 2: Using extensionsThis is NOT the latest copy of this book; click here for the latest version.
In order to be most flexible, PHP offers several extensions are that not cross-platform. For example, the COM extension is only available for Windows, and the process control extension is only available for Unix. Indeed, some parts of this book will only work on some platforms, which is an annoyance for those without the working platform, but is a necessary evil - it is often better to have something that works for just a few people than to have nothing at all.
If you really need to make use of OS-specific extensions, you have two options: inform your users that they need to use a specific OS, or edit your source code to forcefully bail out if you find it being run on the wrong OS. The first option relies on people actually reading your documentation before using the script, but the second option means that each script needs to do unnecessary work to make sure the right OS is being used.
Your best bet is usually to add text everywhere you have the chance: documentation, readme, FAQ, on the web site, etc, and leave the script with no checking. When it does not work because a specific extension does not exist, people will look for the answer, and hopefully find it wherever you put it.
|
Want to see this stuff in print? PHP in a Nutshell takes the core topics covered here, adds in thousands of edits from the editorial team and myself, and combines them to make an unbeatable reference for PHP programmers at all levels.
My latest book has hundreds more tips on how to use PHP, Apache, and MySQL, plus Perl, Python, shell scripts, performance tuning, and more!
|