The PHP Static Code Version Checker
Go to file
John Bintz 6ba46d4661 final cleanup, putting this version to bed 2008-10-16 23:02:42 -04:00
build a bunch of cleanup, reworking xml parsing and ui changes 2008-10-15 22:35:16 -04:00
htdocs final cleanup, putting this version to bed 2008-10-16 23:02:42 -04:00
src more cleanup 2008-10-16 22:46:17 -04:00
LICENSE initial commit, all seems to work 2008-10-08 19:54:28 -04:00
README more cleanup 2008-10-16 22:46:17 -04:00

README

(Harmonious Code's internals are currently a complete mess. You have been warned.)

Harmonious Code is a static code analyzer for PHP, primarily geared toward
ensuring that the code you're writing will work on a particular base level
PHP installation. It will double-check each function and constant (and soon,
language constructs) that you're using and provide you with the minimum
version of PHP requires, as well as any necessary PECL modules, to run the
code that you've written.

To build & use Harmonious Code on Unix-like operating systems:

* Make sure you're running haXe 2.
* Download the PHP documentation from CVS.
* Run the build/phpdoc_setup.sh script, passing either the relative or absolute
  path to your phpdoc CVS folder:

  cd build
  ./phpdoc_setup.sh /var/www/harmoniouscode/phpdoc
  
* Run build/test.sh. This will take a short while as all_tokens.hxd is
  built in the data directory. It will also ensure everything's working
  correctly.
* Run build/javascript.sh. The harmoniouscode.js file will be generated
  in htdocs. You'll also have a zip file with the entire Harmonious
  Code bundle to pass off to others.
* Open htdocs/index.html and try analyzing some PHP code.
* Run build/command_line.sh and pass the path to a PHP file as the first
  parameter. A basic analysis should appear.

To automatically ignore certain tokens and modules, place lines like
the following in your code:

* To globally ignore a token (ex: json_decode()), place at the top of
  the file the following:

  //harmonious json_decode

* To ignore a token within a block of code, surround the code in the
  following:

  //harmonious json_decode
    ...your code...
  //harmonious_end

* To ignore a particular module throughout the code (ex: maxdb), place
  at the top of the file the following:

  //harmonious @maxdb

No build instructions for Windows yet, but Cygwin + haXe for Windows should
be able to perform the build.

Patches and comments are welcomed - send them to john@coswellproductions.com.

Visit http://harmoniouscode.coswellproductions.com/. Tell your friends.

Harmonious Code is Copyright 2008 John Bintz.