I started developing professionally as an intern in 1996 for G.E. Lighting in St. Louis. Back then, I was fortunate to work on some interesting platforms and languages; OpenVMS/VAX, Fortran and Assembly to name a few.
I received a Mech Eng degree from Missouri University of Science and Technology. I worked in the field for a couple years and then left my job to pursue my passion and start my own biz programming full time. It’s been a wild ride ever since.
I have a pretty extensive background in mobile development. I co-founded Movo Mobile (acquired by Neighborhood America in 2006) which serves clients such as Adidas, Reebok, Gillette, Fox News and HGTV. Before that, I moved to Florida to work for Boomerang Mobile Media as a vested partner doing a shit load of .NET development.
For the past few years I’ve been completely obsessed with the Adobe Flex framework. After experimenting with Flex, Java, BlazeDS, .NET, (n)Hibernate and countless other stacks, I ended up going with Flex, Zend_AMF Aerial (a framework built on top of Doctrine & AMFPHP) and Red5 (Remote Shared Objects are invaluable). Myself and a small team have been working on a company since the beginning of ‘07 using these technologies and are rearing close to a release.
Me, myself and I:
- can’t stand the term “Web 2.0″
- am an open source junkie
- own a breadboard
- have a horrible memory
- love to play tennis and board games
- get tired of listening to “self proclaimed experts”
- am wicked pissa excited about the coming releases of Ubuntu
- can’t spell
- have been in two motorcycle accidents
- am a chess geek
- realize Humanity + Love + Respect + Understanding + Humility = Bliss
I’m always available for freelance work or helping anyone out that asks nicely
Cheers,
Rob Cesaric


Hi,
Thanks for the kind words. I have posted a link to your blog in the WB forums:
http://forums.mysql.com/index.php?151
Could you get your blog aggregated into PlanetMySQL:
http://planet.mysql.com/
- MySQL Workbench Team
Thank you! I just submitted this MySQL blog to PlanetMySQL.
-Robert
I always find desktop tools like HeidiSQL and SQLyog much more effective for running long scripts.
Nice tip, I didn’t know this one. Thanks
Hi,
Very very good this trick.
Thank you!
Hey
Cheers for this – exactly what I was looking for
One thing – when I open a PHTML file, it seems to be using a different font size to a PHP file. All the colour coding is correct, but it’s annoying that the PHTML text is smaller.
Any idea where that config option is?
Cheers
Kieran
Oh my.
How thick do I feel. 2 seconds after posting, I find the answer! The fonts settings in the preferences dialog appear to be somehow sensitive to the context of the file type you have open! (At least the font size of the Code View font is….!)
Move along – nothing to see here!!
Thanks again for the tip
K
Good find on the font size! At least it saved me from searching around for it… Even if it was only for 2 seconds,
-Rob
Note to self (and other readers): Be careful when copying & pasting the php.ini-configuration into a text editor: ” isn’t equal to “.
Just retype the quotation marks.
Thanks for pointing out the quotes! I didn’t realize my Wordpress theme style is converting them. I’ll need to dig through and fix the css.
Hi…..
thanks a ton!!!!!!!!!!!!!!!!!!!!!!!
Superb! Although phpmyadmin seems to have this functionality already in place, it is not known!
Thank you very much for this great tip! You really saved my day
PS: work for a 44 MB db, no sweat!
I build an enterprise application with Flex, ZendAMF and Doctrine.
I was stuck with data transfer from Doctrine to Flex.
This fix was very helpful.
Thanks, Robert!
Thanks for that, project natures can be a bit tricky in eclipse.
I’m using a setup much like yours – Eclipse + PDT plug-in + Flex Builder 3 plug-in – I don’t use Flex really, just AS3.0. I’m also using xampp. At the moment I have my server root set to my workspace root – mainly because I thought that all files should live in the workspace. Have you tried keeping the PHP files in a separate server root and leaving the .as files in the workspace? Can eclipse cope properly with files not in the workspace?
Hey wagster. You know I haven’t tried moving my PHP files outside the project space. Trying to setup the “PHP Include Path” in eclipse gave me some quirky results in some cases and trying to create a Flex project with a PHP application server type sucks because I can’t get it to work with virtual hosts and only on the http://localhost/. Creating directories under http://localhost for each project is a fix but a pain due to relative path bugs when I push the project to the root web folder of the production server.
I do a lot of Flex project where I’m using PHP/Zend_Amf for the web-services so what I’ll usually do is edit my host file and then setup a virtual host pointing to my “src_php” folder. This way I can have a top level web service URL like http://acme/services.php for my Flex project to query which doesn’t create any relative path bugs when I push it to the production server.
Great, I’ll look into the virtual host trick. If it works as well as the .project tip did, I’ll be a happy camper!
think. I’m using Doctrine to flex but, in Zend framework or Symphony, don’t see mature solution. I’m considering returning to Java… Do you think doctrine 2.0 will really change it ?
Hi Dave,
Yea, I really do think Doctrine 2.0 will be a game changer. It appears to be a complete code rewrite modeled after JPA. I use to use Java & Hibernate (and before that .NET & nHibernate) but it’s just faster for me to maintain and push PHP code up. I do have to do some hacking as you can see in my posts but once they’re implemented, I’m off and running pretty quick.
I hope the Doctrine team at some point gets an AMF serializer/gateway built in as Zend_AMF forces certain class naming conventions that throws things off.
I do use Red5 though for rtmp (I dumped BlazeDS after 3 years of headache and bugs when you get into some of the advanced features). Ultimately, I would love to see (or build if anyone is interested in helping) a PHP RTMP extension. Then I think PHP would be a major option in the Flex RIA arena.
Thanks, it was vaery helpfull for me.
Really good blog !
Flex, Zend & Doctrine… It’s pretty unusual.
I’m working with this technology and the documentation is missing.
Continue that way !
Thanks Thomas! Yea, there’s not a lot of information on working with this stack. I’ve been highly reliant on xdebug to quickly understand what goes on under the hood and make patches where needed.
great tip!!
Big help
I don’t use the explicitType, but only “setClassMap” on the server AMF.
It’s work fine, and it doesn’t add the explicitType property on every DTO.
Armetiz.
Yea, that’s probably the better way to do it but the reason that I have it in there is because I use the ‘addDirectory’ method instead so that I don’t have to explicitly map each class. Makes auto-generating code for large projects effortless. NOTE: I can only make it work the way I’m describing hereon due to a couple minor hacks I’ve blogged about. Here’s an example of my AMF gateway:
In that ’services’ directory, I have nested levels of folders with php service classes and all I have to do is is set my “source” attribute accordingly in my flash as such and I’m up and running:
mx:RemoteObject showBusyCursor=”true” id=”rpcIndividual” destination=”amfphp” source=”com.domain.IndividualService”
Zend will now look in my php’s services directory for /services/com/domain/IndividualService.php. I’ve been using this method with Zend 1.8 so I don’t know if there’s a better way now but I’m holding off since it works until I see how the new AMFPHP starts unfolding. I’ve always liked that project and it doesn’t give me the headache of Zend’s class/package naming conventions.
Parabéns pelo POST!
Muito bom…
Obrigado!
thanks very much,I just need it!
thanks I used this for several file extensions, it works great
max_allowed_packet is a dynamic parameter in mysql 5.1.
You can set it when mysql server on the runtime.
using mysql to connect to the server like this:
mysql -h”remote_host” -u’user’ -p’password’.
after login in. you can using:
set global max_allowed_packet=50M
to set max_allowed_packet. No need to change my.cnf and restart mysql server.
you can refer to mysql reference at:
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_max_allowed_packet
pickup.lichun, awesome tip, thank you!
Hey, Thanks for above
If you want to rename your Flex “src” folder and are having trouble let me know and I’ll add how to do that.
Can you post the details about renaming the Flex src ?
Hi Sobers,
If your source folder is named “src”, right click on it and select “Refactor>>Rename”. Rename it to something like “src_flex”. Then right click on your project and go to “Properties>>Flex Build Path” and select the “Source Path” button at the top of that window.
In this example, you would change the “Main source folder” input near the bottom from “src” to “src_flex” or you can browse to select the folder. Hit “OK” and you’re all done.
Hi Rob,
Thank you very much.
Brad, Yaar@Kyayaar
http://www.kyayaar.com
I have just released an open-source Flex ORM solution using Doctrine 2 – check it out at http://www.flextrine.com
Dave Keen
http://www.actionscriptdeveloper.co.uk
Hey Dave, Flextrine looks pretty awesome! We’ll have to trade notes sometime. I actually work on the Aerial/CMS project which is also a Flex/Doctrine ORM implementation.
Thanks! you really helped me out with this!!
Is way better editing with the syntax highlight!
Worked like a charm. Thanks a lot!
Diego, glad it helped!
I’m having the same problem using Doctrine 1.2.2 and Zend Amf 1.10.7 except that it didn’t work no matter what I tried : using your method (constructor), setTableDefinition, getASClassName(), wether it be in the Contact or BaseContact and with or without setClassMap(‘ContactVO’,'Contact’) on Zend Amf bootstrap (even tried with the fully qualified class name there). And I’m sure there’s no error left as I received my service response correctly (without class mapping) and set my Flex RemoteClass metadata.
Could you give me any advice on how to proceed ?
This is necessary for me because my website has quite a huge database and class mapping is really needed there
Thanks a lot, hope you’ll get time for this.
Hi Romain, I haven’t tried with Zend Amf 1.10 as I’ve switched back to AMFPHP. Can you provide some code for me to test with? All I need is a single Flex VO and the associated PHP Service class (and base). If I don’t see any errors, I’ll see if I can get a full round-trip example working with Zend 1.10 and zip it up for you. You can either paste the code here or email it to me: robert@[this domain]
Reaaallyy thanks!!!!
Hi Rob,
I have a fairly large amfphp project, and I’m looking to use doctrine as an ORM.
I’ve managed to hook up my services folder, so that any doctrine queries are passed off to the relevant doctrine models, and this all works fine. The one outstanding item is to get the VO’s working correctly. I tried to use something like the following in my doctrine model, but amfphp doesnt seem to recognise this, and the array doesnt get typed up properly at all.
class ModelUser extends ModelBaseUser{
public function construct()
{
$this->mapValue("_explicitType", 'UserVO');
}
}
Any pointers on how to get VO’s working with amfphp and doctrine would be awesome.
Glad it helped! I should have a proper AMF hydration plugin for Doctrine to replace his hack shortly (coming from the work on aerial-project.org).
Hey JonoB, does you UserVO class in Flex have the RemoteClass alias set like the following?:
[RemoteClass(alias="UserVO")]
public class UserVO extends BaseUserVO
{
public function UserVO()
{
}
}
The RemoteClass alias and your PHP mapValue can actually be anything as long as they match EXACTLY. Even prefixing with the package as such: alias=”model.vo.UserVO” would break it because mapValue=”UserVO”.
Also, are you using a tool like http://www.charlesproxy.com? There’s also a Firefox add-on equivalent called “AMF Explorer”. These will allow you to monitor the AMF request and response traffic between PHP and Flex; giving you a better look into what might be wrong or missing.
Hey Rob!
Thank you for sharing this. The Internet is a little better, with people like yourself in it.
)