- PeterMoulding.com
- Author
- Trainer
- Speaker
- Business Coach
- How to write a How To book
- PHP Courses
- Speaking
- Web Architect
- Australia
- Books
- Authors
- Akkana Peck
- Alex Berenson
- Andrew Nugent
- Ben Sanders
- Brock Clarke
- Chris Simms
- David Mercer
- Dianna Mullet
- Don Winslow
- Dori Smith
- Harlan Coben
- Jack McDevitt
- James Wines
- Jerry Yudelson
- John Grisham
- Kevin Mullet
- L. E. Modesitt Jr.
- Laurell K. Hamilton
- Marshall Karp
- Martina Cole
- Michael Marshall Smith
- Michel Roux Jr
- Nadia Sawalha
- Philip Pullman
- Raymond Khoury
- Richard North Patterson
- Robert Masello
- Sally Roth
- Sarah Langan
- Stella Rimington
- Stephen Booth
- Stephen King
- Stephen Leather
- T.C. Boyle
- Tom Negrino
- Tony Hillerman
- Urban Waite
- Val McDermid
- Valerio Massimo Manfredi
- Beginning GIMP
- Beginning Visual C++
- Culturalism
- Fiction
- A Drink Before The War
- A Talent for War
- Bag of Bones
- Blood and Ice
- Burn
- Dark Lady
- Dead Line
- Eclipse
- Empress of Eternity
- Exley
- Flipping Out
- Just One Look
- Nightfall
- Pet Sematary
- Savage Moon
- Skinwalkers
- Starvation Lake
- The Fallen
- The Gardens of the Dead
- The Jump
- The Last Templar
- The Mermaids Singing
- The Midnight Mayor
- The Secret Soldier
- The Summons
- The Terror of Living
- The Testament
- The Tower
- Under the Dome
- Virus
- AJAX and PHP
- Aging with Grace
- Food books
- Green Architecture
- Life Is So Good
- SQL: The Complete Reference
- The Backyard Bird Lover's Ultimate How-to Guide
- The Garden Gurus
- Authors
- Sustainability
- -18 hours left to decide the future of Australia
- Campbells vegetable stock or Massel vegetable stock?
- Carbon Sequestration
- Carbon tax for Australia is a fraud
- Copenhagen will fail
- Cost of living in Australia
- Dick Smith jumps on the population bandwagon
- Dry Run: Preventing the Next Urban Water Crisis
- Energy Saving Lights
- Garlic
- How many people can live in Australia?
- Its obsolete, throw it out!
- Julia Gillard offers 9.9 billion dollars bribe to Rob Oakeshott
- Laundry detergent
- Petrol or Diesel?
- Reflective foil batts kill
- RoHS
- Sea level to rise 3mm due to climate change
- Solar power
- Spring again in Sydney
- Sustainable fuels
- The CRUD Tax is back
- The people who make building regulations do not own houses
- Water efficiency
- Which insulation is safer, foil or wool?
- Will Australia reduce greenhouse gas emissions?
- Technology
- Android or Blackberry or iPhone or a flip phone?
- Apple versus Google 2011
- Cameras
- Cars
- Colour
- Burgundy
- Colour Blindness
- Colour Names
- Dulux colours
- Pantone colours
- Safe Colours
- Seculine ProDisk Mini colour balance card
- What Causes Colour Blindness?
- Hardware
- Batteries for the Digital Age
- Cables
- Cases
- Computer reliability
- Computrace
- Disks
- Astone ISO Gear 481E
- Best SSD for your notebook computer
- Disk block size
- Hitachi disk HDS722020ALA330
- LaCie USB 2.0 250 GB mobile hard drive design by F.A. Porsche
- SMART disk
- Samsung 2 TB HD204UI quiet low power disk for mass storage
- Seagate and Samsung merge disk business
- Select the right disk for your RAID array
- USB disk speed
- Western Digital WD20EARX 2 GB SATA 3 disk
- How long should computer hardware last?
- Keyboards
- Mainframe
- Memory cards
- Monitors
- Netbooks, notebooks, tablets, and xPads
- Network Attached Storage
- OLED Displays
- PC's are a thing of the past
- Printers
- Quiet
- Samsung Galaxy S
- Speed
- Television
- Tools
- USB
- Worst computer movies
- Xserve is dead. What next?
- Your backup will not work
- Z68 motherboards
- iPad or Acer Aspire One?
- IQ
- LG Intello Washing Machine
- Lack of a challenge
- Networks
- 802.11n wireless networking
- D-Link DIR-655 wireless router
- D-Link DWA-160 Xtreme N dual band USB adapter
- D-Link DWA-556 Xtreme N PCI Express desktop adapter
- MIMO
- NBN spends another $12 billion of our tax money on nothing
- National Broadband Network
- Netgear wireless modem router DGND3300 with 300 Mbps 802.11n
- Refrigerator kills wireless broadband
- Small Wireless Network
- TP-LINK TL-SG10005D 5 port gigabit switch
- TP-Link TL-WR1043N wireless N gigabit router
- Telstra Pre-paid Mobile Wi-Fi
- Where are the router plus proxy server combinations?
- Open Source documentation
- Software
- 7-zip
- Accounting
- Asterisk
- Audacity
- Backup software
- Bloat only in Windows
- CAD
- CDex
- Disk imaging software for copying and backup
- Exact Audio Copy
- Filezilla
- Firefox
- Java
- LibreOffice or OpenOffice?
- Linux
- 1 in 5 servers will ship with Linux
- Android phones outsell iPhone
- Another Move to Linux
- CentOS 5.5 installation on SSD and RAID 5
- Debian
- Debian 5.0.5 AMD64 installation
- Debian 5.06 installation
- Fedora
- Fedora or Ubuntu?
- Gnome or KDE?
- K9copy
- Linux 2.6.38
- Linux Gnome login settings lost
- Linux Mint
- Linux RAID, a rant
- Linux Speed
- Linux Time
- Linux reliability as demonstrated by Ubuntu 10.10
- Linux reliability as demonstrated by Ubuntu 11.4
- Linux still a struggle in 2011
- Linux workstation disk RAID 1
- Linux, NT, Windows, and SETI
- Linux, three years of progress
- London Stock Exchange switches to Linux
- Mandrake Linux 9.2
- The partition is misaligned by 48128 bytes - warning from Linux RAID
- Ubuntu
- How to fix the scroll bars in Ubuntu 11.4 Gnome
- Kubuntu 10.10 alternate installation on desktop with RAID 1
- POWbuntu
- Ubuntu 10.10 after 6 months use
- Ubuntu 10.10 alternate installation
- Ubuntu 10.10 desktop RAID 1
- Ubuntu 10.10 desktop RAID 5
- Ubuntu 10.10 desktop install on a netbook
- Ubuntu 10.10 desktop installation
- Ubuntu 10.10 netbook install on a netbook
- Ubuntu 10.10 server AMD64
- Ubuntu 10.10 upgrade to version 11.4 beta 2
- Ubuntu 10.4
- Ubuntu 11.10
- Ubuntu 11.10 first upgrade
- Ubuntu 11.4 after one month use
- Ubuntu 12.04 beta1 desktop amd64
- Ubuntu One
- Ubuntu by Microsoft?
- Ubuntu desktop upgrade 10.4 to 10.10 failed because I did not check the media
- Ubuntu strikes again
- Upgrade Ubuntu to Linux Mint 12 LDXE for extra speed
- Yes, use Linux but not that distribution!
- Nero
- OpenOffice
- OpenOffice is now Apache Office
- Project management
- Scribus
- Software for Windows and Linux
- Text editors
- Time
- Todo applications
- Tomboy notes
- Top text editors
- Version control
- VideoLAN VLC media player
- Visio
- Webmin
- Webmin installation on CentOS for Web development
- Webmin installation on Ubuntu
- What is the most popular open source software today?
- Windows
- Another Windows person goes Linux
- BAD_POOL_CALLER
- Cygwin
- Microsoft Malicious Software Removal Tool cannot find a common virus
- One of the developers of Windows XP is criminally insane
- There are unused icons on your desktop
- W32time
- Which Windows version?
- Windows 7 Home Premium
- Windows XP Stop 0x0000007B during installation
- Windows XP is a disaster
- Windows processes
- XML
- Zip, bzip, gzip, or 7zip?
- configFree
- Technology Succession Planning
- VoIP
- Web Sites
- Drupal
- Do Drupal themes have to use the GPL?
- Drupal 7
- A better search facility for Drupal
- Drupal - performance or flexibility
- Drupal 7 Fields are hard to fix
- Drupal 7 new features
- Drupal 7 ships on January 5
- Drupal 7.14
- Drupal 7.4 hits PeterMoulding.com
- Drupal function sequence
- The evolution of a module
- Undefined index: headers in DefaultMailSystem->mail() (line 54 of /modules/system/system.mail.inc).
- Undefined index: to in DefaultMailSystem->mail() (line 83 of /modules/system/system.mail.inc).
- implode(): Invalid arguments passed in DefaultMailSystem->format() (line 23 of /modules/system/system.mail.inc).
- Drupal 8
- Drupal Code Load Cut
- Drupal How To
- Drupal Modules
- Backup and Migrate
- Browscap
- CKEditor with Drupal WYSIWYG
- Captcha
- Cel
- Colorbox
- Content Construction Kit
- Content type
- Devel module for Drupal
- Drupal Rules as an automation language
- Drupal Spam add-on module
- Form alter to node
- IMCE
- IMCE Wysiwyg bridge
- ImageAPI
- Jdog
- Lightbox2
- Module variable
- Node Gallery Access
- Node_Gallery
- Path
- Path redirect
- Pathauto
- Pet
- Search
- Service links
- Session Variable
- Statistics
- Taxonomy
- Token
- Token ex
- Transliteration
- Trigger
- Watch
- Other modules
- Drupal Training
- Drupal access controls need a major rewrite
- Drupal coding tricks
- Drupal performance
- Drupal themes for the future
- Drupal.org colours
- Import existing data into Drupal
- Multiple Web sites made easy using Drupal multisite and the right start
- drupal_lookup_path()
- Adobe PDF
- Apache
- Apache Mahout
- Audi.com
- Bleet
- CSS Strikes Again
- CSS or xCSS
- Can you believe Facebook or email?
- Content Management Systems
- Databases
- Facebook scam
- Font
- Fonts
- HTML
- Install Apache, MySQL, and PHP 5 in Ubuntu 11.4 using the Ubuntu Software Centre
- Language Codes
- Marketing
- Memcache
- Nginx
- Open source development hits another roadblock
- Oscars
- PHP
- SPDY
- Search software
- Techoni.com.au
- Theme themes
- Things to hate on Web sites
- U.S. Patent No. 6,985,875
- Virtual Private Server
- Visible Improvement
- Web 4.0
- Web browser usage
- Web browsers
- Web site development
- Bluefish
- Crying over spilt code
- Eclipse and PHP
- Getting a Git client, a story of ancient technology and pain
- HTTrack
- MVC
- Netbeans
- PHP or ..., CakePHP/Symfony/ZF versus ...
- Programming
- Superfish
- Web browser emulators for testing your Web site
- Web development frameworks
- Web site books
- Web site development on your own computer
- Webmin or phpMyAdmin or cPanel for creating databases?
- aiki framework
- jQuery
- Views development - Learn Fields first
- Views development - Learn Actions and Rules
- jQuery .each()
- jQuery .has()
- jQuery .is()
- jQuery and Firefox Firebug
- jQuery children
- jQuery for people not using Drupal - Installation and getting started
- jQuery hover
- jQuery hover de-duplication example
- jQuery or CSS?
- jQuery performance
- jQuery tests
- Web site hosting
- Westpac Web site still broken after two years and ten months
- Wordpress wins another CMS survey
- Drupal
Eclipse and PHP
Submitted by Peter on Fri, 2012-01-20 08:18
Eclipse is a development environment written in Java for Java. There is an add-on module for PHP. After many years of development, the combination still fails. There is a special custom version of Eclipse with the PHP add-on perfectly matched with Eclipse and that still fails. Using Eclipse for PHP development is still a battle not worth winning.
I started this article in 2004 based on Eclipse 3. Prior to Eclipse 3, Eclipse was so useless that I never proceeded far enough with Eclipse to bother writing an article. Eclipse is supposed to work across platforms. I work on Ubuntu Linux, various versions of Windows, and some other versions of Linux. Prior to Eclipse 3, neither Eclipse or the underlying Java worked across the platforms I used. Microsoft made Java 20 times faster. IBM gave up on Sun and produced IBM Java. By the time Eclipse 3 arrived, Java was fixed up to the point where Eclipse could be used for simple editing projects.
Bluefish and a dozen other editors were better than Eclipse for straight editing and for fancy editing of PHP.
Eclipse is now at 3.7.1, a version named Indigo. Eclipse gave up on the misrepresentation of Java as some sort of platform or version independent development environment. Eclipse now ships Java with Eclipse so you will have a compatible version. This is the honest way to handle Java. Have a complete full duplicate space wasting version of Java shiped with every copy of every Java based application.
The PHP extension for Eclipse is now named PDT, PHP Development Tools. The current PDT (at the time I am writing) works with the current Eclipse but you cannot apply any updates because of the usual Java prerequisite compatibility issues. It looks like you are stuck with throwing Eclipse away every couple of years and starting again.
Eclipse is at eclipse.org. The PHP extension for Eclipse is at eclipse.org/pdt/.
Eclipse Install
The special version of PDT prepacked with Eclipse and Java is the smallest download, is not an official package from Eclipse, and does not work in Ubuntu Linux 11.11. You might be lucky and make the download work somewhere.
Download Eclipse first. Eclipse can then download a working version of PDT. The generic Eclipse is three times the download size of the PDT download then the generic Eclipse doubles in size when expanded out during installation. By the time you add the small number of Eclipse add-ons required to use Eclipse for a PHP project, you waste a gigabyte. If you choose the same features as small independent applications with the efficiency of Bluefish, you will use less than 0.05 gigabytes.
Directories
Eclipse starts with a workspace directory that defaults to /home/peter/workspace for my login to Linux. Everything is stored in the workspace plus some things are duplicated to a hidden location. When you have major problems with Eclipse, you can delete the workspace then start again. A mysterious random selection of settings will be remembered after you delete the workspace. In some cases you will have to uninstall Eclipse, delete the workspace, then install Eclipse. I went through the cycle at least three times on one Linux machine before giving up.
Eclipse automatically picks up plug in modules by reading the plugin directory structure when Eclipse starts. Eclipse does not do the same for you project file directories. Eclipse used to store the plugs in a mystery location. Now the settings are in your workspace. When you delete and recreate your workspace, something I had to do many times when attempting to make Eclipse work for a very simple project, many settings will disappear but some hang around to annoy you.
You have to manually add all new project directories. There are options to import projects. There is no documentation of what will be imported and the imports did not work in any of my tests. Some of the imports copied files, or created files, but they did not produce working projects containing the files for the projects. The only way I could create a working project was to create a new empty project then recreate the files one at a time.
When you add a directory, you can add a pointer to a directory anywhere on your computer or anywhere on your network that you can access by a fixed file name. That means you can have a logical structure unrelated to the physical structure. Anyone who has built logical structures from physical directory structures using either Unix links or the IIS style logical links, will know there is one real problem with complex logical structures.
Logical links are fine when you are following the logical structure from the top down to a physical directory. A problem occurs when you have to start at a physical directory and work upward to find where the directory is used. Some developers set up complicated directory structures then find other people cannot understand the structure.
One solution is to make the logical and physical structures the same so everyone has the same view. That would be greatly helped if Eclipse could display new physical directories added within existing structures. You could then easily add the new physical directories to Eclipse's logical view.
Another solution is to let the Web server builder set up the Web server for optimum use and then replicate that within Eclipse. You then add all the Eclipse project files through a similar parallel directory structure. The logical links then merge the two structures.
None of the logical approaches worked consistently. To make sure every file worked consistently, I had to create everything in Eclipse than copy code from the existing files to the new files. painful.
PDT
All my problems from 2004 with the previous PHP add-on are fixed in PDT. PDT worked when I created a PDT project then created PHP files. PDT damaged the formatting of my files and I had to reformat by hand. This is a big leap forward from not being able to edit anything. Based on the very slow load time of Eclipse and
Replacing Homesite
Homesite is the world's most popular Web site editor. Homesite handles PHP, HTML, CSS, and FTP, which is enough for most web projects. To replace Homesite with Eclipse, you need the Eclipse CSS plugin, the FTP plugin, and the PHP plugin. The CSS plugin is still a very early version and needs a lot of work to catch up to the CSS add on supplied with Homesite.
To make Eclipse better than Homesite, you need to use at least one more plugin. I will try the SQL and XML plugins including XMLBuddy. (The free version of XMLBuddy works with DTDs. You have to buy the professional version to work with schemas.)
Eclipse Learning Curve
Eclipse does a lot of work around projects. You get little advantage with Eclipse unless you use multiple projects. Starting with a bare bones Eclipse, spend a couple of days working through the supplied tutorials. Work out how you might connect Eclipse projects to your current projects.
You then need at least a day with each Eclipse plugin. You then need a day to plug in PHPeclipse, edit the configuration, and practice with the new editor. Remember to try global searching. Global search facilities are one of the things that make Homesite and equivalents so much more useful than plain text editors.
PHPeclipse has a companion SQL plugin. Eclipse has all sorts of plugins for data dictionaries and database management. Some are proprietary. Look at the options for building logical models of databases and having Eclipse generate the SQL.
There are lots of XML plugins. You might be able to choose one from the online information or you might have to plug in several and test them side by side. A quick look at the free XML plugins suggests I will need more than one or have to buy a proprietary plugin.
You get the most advantage from Eclipse when you use several features together. You have to use more than Eclipse, PHPeclipse, and the FTP plugin to go beyond the Homesite approach. That means you have to spend a week or two learning to use all the features of Eclipse plus four or more plugins.
Summary
Eclipse 3 looks better than Eclipse 2. Eclipse 3 should make life easier for people using Eclipse as the base for anything other than a Java editor. PHPeclipse will run with Eclipse 3. Unfortunately you need to know Java to make some of the most basic configuration changes. To make full use of Eclipse, you have to learn a lot about Eclipse. I recommend Eclipse when you work on several projects in parallel, you have several spare days to work through all the Eclipse tutorials, and have several more spare days to experiment with each plugin.








