A good IDE is the developer’s best friend. FDT is my favorite one to code AS3 stuff, however I’m not very satisfied with haXe integration… it could be better. A good source code editor is also an amazing tool. I’ve found Sublime Text 2 some months ago, and it sounds always awesome to me. There is an extension which add Package control management to ST2 for adding new plugin, like haXe one.
Come on, download Sublime Text 2, install the Package control and haXe plugins!
That’s ok ? Now we can create a simple Php project.
Create a new file, save it as Test.hx and add this code :
package;
class Test {
static function main() {
new Test();
}
public function new() {
var number:Float = 4;
trace(number + 5);
}
} |
package;
class Test {
static function main() {
new Test();
}
public function new() {
var number:Float = 4;
trace(number + 5);
}
}
Then press ctrl (even if you use a mac) + shift + b. A new file called build.hxml is opened with some code generated to compile. You should just need that :
# Autogenerated build.hxml
# www
-php www
-main Test
Then press ctrl + enter. Your php files are generated. Pretty easy!
Now let’s make more stuff, a PDO connection with a simple query.
var cnx:Connection = PDO.open('mysql:host=localhost;dbname=igobelins', 'myUsr', 'myPwd'); |
var cnx:Connection = PDO.open('mysql:host=localhost;dbname=igobelins', 'myUsr', 'myPwd');
If you press ctrl + space you have some greats auto-completion features! ctrl + i and the class is imported. If you make some mistake your code is highlighted in pink.
Our php stuff :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| package;
import php.db.Connection;
import php.db.Mysql;
import php.db.Object;
import php.db.PDO;
import php.db.ResultSet;
class Test {
public var cnx:Connection
static function main() {
new Test();
}
public function new() {
cnx = PDO.open('mysql:host=localhost;dbname=igobelins', 'myUsr', 'myPWd');
var sql:String = "SELECT * FROM configs";
var results:ResultSet = cnx.request(sql);
for (result in results) {
trace(result.user);
}
cnx.close();
}
} |
package;
import php.db.Connection;
import php.db.Mysql;
import php.db.Object;
import php.db.PDO;
import php.db.ResultSet;
class Test {
public var cnx:Connection
static function main() {
new Test();
}
public function new() {
cnx = PDO.open('mysql:host=localhost;dbname=igobelins', 'myUsr', 'myPWd');
var sql:String = "SELECT * FROM configs";
var results:ResultSet = cnx.request(sql);
for (result in results) {
trace(result.user);
}
cnx.close();
}
}
According that you have a field user in your database, it will show the names.
Ok that was pretty cool, what about nme ? Go on this page and download the haXe project. In ST2 go in File/Open Folder… and select the Folder you have just unzipped. It should show the different folders & files in a left panel. Browse the Source and open SimpleBox2DExample.hx and then press ctrl + enter. It is compiled for flash and open quickly the result in the Flash Player. Ok but with NME I would like to target cpp. No problem press ctrl + shift + b then select cpp and compile. This way you can quickly change the target.
He wait, there isn’t html5 target !? I don’t know the reason but it is not offered. But you can add it (thanks to Julien Roche for the tips) : on Mac open the file Users/YourUserName/Library/Application Support/Sublime Text 2/Packages/HaXe/HaxeComplete.py and add html5 to nme_targets on line 124. Restart ST2, press ctrl + shift + b select html5 then compile. You have a new target 😉
Sublime Text 2 and the haXe plugin are awesome, but so far it can not be as powerful as an IDE for debugging. No breakpoint for example, anyway it is already a great tool for a simple code editor!
Recently, JetBrains has released a haXe plugin for IntelliJ. We should keep an eye on it!