Category: Development

  • CakePHP Containable Statement Pitfalls

    On some of our more recent projects, we have been using the Containable behavior that CakePHP provides.  It works quite nicely, a lot easier than the previous format of having to bind and unbind models on the fly.

    The pitfalls began to appear when some of our clients were reporting that some pages are extremely slow.  After a bit of research, it was quite apparent that the root of the cause was attributed to us using the containable feature. (more…)

  • Keeping your CakePHP Controllers Clean

    As my office gains more and more experience with CakePHP, we are beginning to learn to build more organized web sites.  Looking back at our first few projects, I’m astonished to see how messy our controllers are!

    I know the controllers are the “brain” of MVC because it pieces our data to our views, but that doesn’t mean everything should go in there.  Our original controllers would contain all of our logic, all of our data manipulation, all of our custom queries, and some additional data validation.

    We are now working very hard to keep our controllers as clean and simple as possible.  My goal is to make every function in our controllers under 20 lines of code.  It might sound ambitious, but I think it is completely feasable. (more…)

  • Drag and drop category management with CakePHP

    Today’s article is going to walk you through creating a slick drag and drop with AJAX category management system.

    CakePHP offers a really nice built-in tree management.  In fact, at a bare minimum you simply need to create a table with 2 extra columns, tell your model to act like a “tree” and rather than doing a find(‘all’) you do a generatetreelist() or a find(‘threaded’) and CakePHP takes care of the rest.

    After doing a quick test, I was quite impressed with what CakePHP did for me, but I was not satisified.  I wanted to create a really slick category management system that I can re-use and show off.  Well, in this tutorial I go about 90% of the way.  The only thing I didn’t have time to finish was, rather than redrawing my tree through AJAX, use DHTML and dynamically update my tree after dragging and dropping.  Don’t worry, I plan to finish this with a part two soon. (more…)

  • Drag and drop with animations in jquery

    Every year at Halloween, my company offers prizes to the best dressed employees.  For the past two years I have won as well as my co-worker that partakes in our crazy costumes.  You may be wondering what this has to do with drag and drop, don’t worry I’m getting.

    This years prize happened to be a monkey slingshot.  Basically you place your index and middle fingers in pockets attached to the monkey’s arms.  You then proceed to pull back and let fly.  Well, as you can imagine, we had a lot of fun with this guy, so much fun in fact we broke it 🙁

    So one day after work I was messing around with drag and drop and some jQuery tutorial animations.  I was quickly able to get a “mock slingshot” shooting at a target and this is what I want to share today. (more…)

  • How to add comments with AJAX in CakePHP

    In today’s article we are going to create a very basic blog that allows people to create a post and posts comments on that post via AJAX.  We are going to keep it extremely basic and just focus on that actual AJAX functionality.

    Ready? Let’s begin.  We are going to start by creating two database tables: posts and posts_comments. Also, I’ve got a very simple example of this same feature using Node.js tutorial.  Below is a sample create statement for the posts table: (more…)