Felix Geisendofer's Blog: Screencast #1: Using vendor branching and CakePHP
108040
Felix Geisendorfer has a new post today showing off an example of his screencasting abilities. Specifically, the video looks at using vendor branching to keep your CakePHP installation up to date.   So here I go with my very first screencast to be published. The topic is how to use vendor branching with CakePHP which is one of many ways to keep your CakePHP version up to date.   The video is 15(ish) minutes long and covers, from start to finish, the process of grabbing the latest CakePHP build from the subversion repository and install it automatically to your system.   As a plus, Felix also includes links to the software he used to make the screencast for those that are curious.
277894
Chris Hartjes has posted a tutorial about the creation of a simple user registration system in an application developed in the CakePHP framework. In response to the popularity of his other article on using CakePHP's Auth component, he's created a bit of code to answer some questions.   People have been having some questions about how the password is hashed and questions about a user registration system. Of course, the snarky response is "go and read the source for Security::Hash() and create some of your own code", but it is easier to just give people some code so they stop asking.   His example code extends the User object for the model, makes a controller with a register() method call and creates the username/password form for the user the enter in their information.
67063
Chris Hartjes has posted about a new resource that he "cannot stop recommending people to use [it] when searching for answers to their CakePHP problems" - the CakePHP Cookbook.   With a ton of help from Andy Dawson (AD7Six) the documentation for CakePHP 1.2 has moved forward immensely with the unveiling of the CakePHP Cookbook. It's a combination of manual and wiki, where people can flesh out the manual and make comments on the methods in there.   With the wiki in place, anyone can add to the communal CakePHP wisdom (or correct where others might have strayed) to make it a bigger and better resource for the whole range of CakePHP developers.
701142
Off of the Avatar Financial site, there's a great list they've created to share a few things they've learned around a popular PHP framework - more specifically 21 things they've learned about CakePHP.   CakePHP is very new, so documentation beyond the basics is a bit sparse in areas. I built this website entirely using CakePHP and took notes along the way to share with others. While some of these items can be found in obvious places like the manual, others required a bit of elbow grease to figure out. My name is Matt Inman and your feedback is welcome, feel free to email me with questions or comments.   Things learned that are on the list include:  Easily creating static pages Static pages - Adjusting other data sent to the layout Viewing the SQL queries that are running behind the scenes Using bake.php Complex model validation Creating a controller that uses other models Call exit() after redirecting  and many more. There's lots of helpful tips here, especially if you're new to CakePHP and want that extra leg up.
281096
The Zend Developer Zone has posted episode #32 of their popular PHP podcast series (PHP Abstract) - "Introduction to symfony" as hosted by Stefan Koopmanschap.   Today's special guest is Stefan Koopmanschap. Stefan is web application developer and professional services consultant for Ibuildings.nl. He is the initiator of the SymfonyCamp event in 2007, and is also trying to promote symfony in The Netherlands with his local website symfony-framework.nl. His own website can be found at www.leftontheweb.com   You know the drill - there's three ways to get this latest and greatest show:   listen on the web via the embeded player Download the mp3 for immediate satisfaction Subscribe to their feed in your aggregator of choice
693070
Guilherme Blanco is proposing an interesting idea in his new blog entry - adding built in functionality to the PHP core that would allow a developer to register their own custom suprtglobals.   Currently, we deal with a lot of interesting situations of web applications, and some really interesting are the superglobals variables. Seems there will be a change in superglobals soon and that's why I decided to post about it here.   His example of the need for something like this is as an alternative to using the Singleton pattern to work with multiple database connections in an application. His proposal is that, by including this register_superglobal functionality, it would make it easier to share these kinds of connections. He even includes a simple code example of how it might look.
666978
On the ThinkingPHP blog today, Felix Geisend&ouml;rfer shows, based on some of his own personal work, how to make printing simpler inside of a CakePHP application.    The web site I currently work on is going to be for the hotel where my step father is the manager of. One of the things that is going to be an important 'feature' for the site, is to make it printer friendly.   Since the new site has a very clean markup, I thought about simply creating an additonal style sheet for the media type "print". However, after thinking about it a little bit more today, I came to to the conclusion that I'm dealing with WYSIWYG visitors. So I decided to get a little fancier, and to create a PrintController, which would output printable versions of any site requested by /print/*    He gives the code for the controller and for the easy to use link to go over to the "printable version" of each page, hiding the none-printable information from the browser.
108353
Jared White has released the latest Developer Preview of his application framework for PHP 5 - Willowgarden DP2.   I'm so pleased to announce that Developer Preview 2 is ready. This is where the project is really starting to solidify and settle into a cohesive whole that can be used for hands-on development. I've been working on several Web site and applications using the DP2 codebase, and it has made my life as a PHP developer so much more fun than the bad old days of cobbling together scripts nearly from scratch.   A new wiki for the project has also been launched with content already being added - a User Guide and areas for tutorials and howtos. Jared also puts a call out to PHP 5 developers out there looking for something to get involved with to take a good look at the Willowgarden project and send him an email ("remove everything after jared before the @ sign").
247721
Continuing on from this previous post talking about Javascript in CakePHP applications, Felix Geisendorfer hands out more tips in this new blog entry targeted mainly at users of the jQuery Javascript library.   While the old solution was nice to manage the JS of a smaller application, this one is ment to structure your JS even in bigger projects. To make this possible I decided to go with a loose (MV)C pattern.   He gives an example of using a SiteController in connection with a CalendarController to help populate the information for the calendar.
128022
In a new post to his blog today, Felix Geisendorfer talks about view coding - specifically working with a menu and determining which element is active.   One of the challenges many of us have faced before and will face in future is building a menu. Now this of course is very simple assuming that we're just shooting for a static &lt;ul> with some &lt;li>'s containing the links. However the tricky part is to figure out what is the active menu item. I had some code doing this in the past but tried out a new flavor of it today which I call the MacGyver menu for CakePHP as it's a little dirty yet powerful and easy to maintain.   In his included code, he creates a simple navigation from an array of titles/links and, with some sorting, a regular expression and a CSS class, the selected item can be highlighted simply.
369280
Paul Jones has posted a teaser concerning his talks(s) at the upcoming php|works conference this year. One is about organizing your applications to make them easier to maintain and work better and the other is a follow up to some previous benchmarks he created comparing several of the popular PHP frameworks.   About The Benchmarking Talk - Easy one-liner: "Statistical Histories for Fun and Profit." And I do mean profit: the better your apps runs on a given stack, the more eyeballs you get on your ads (or, the more users you can handle).   He will be talking about why benchmarking your app is important, how to benchmark a framework and, the thing everyone's waiting for - his benchmark stats comparing several popular frameworks.   Paul also requests that, if possible, one developer from the teams of each of the other frameworks (besides Solar of course) could be in attendance to critique the talk and help point out issues either with the talk or in his methods.
648256
Just a quick note from the PHP Thinktank blog today - the log of the latest in their series of IRC talks has been posted - a look at MVC with Abraxas.   He talked about what MVC is and how its set up as well as how it can help you and your application to be more structured and be easier to maintain down the road. He also gave a simple overview of how an MVC application would work.   You can grab the full contents of the talk from their Google group.
23151
Here's what was popular in the PHP community one year ago today:PHPClasses.org: File upload progress meter for PHP 4, at last!Zend Developer Zone: Zend Framework Preview Release 0.6.0 AnnouncedIBM developerWorks: Generate Flash movies on the fly with PHPMike Bernat's Blog: Creating a Simple Registration Script using PHPphp|architect: An overview of the CakePHP frameworkPHPBuilder.com: Reading RSS feeds in PHP: Part 2The Bakery Blog: SwiftMailer Component TutorialPHP-GTK Community Site: Merry Christmas (A Holiday Widget)Ben Ramsey's Blog: Installing the Eclipse PHP IDEZend Developer Zone: Zend Studio 5.5 WalkthroughCommunity News: Vancouver PHP Conference 2007Edin Kadribasic's Blog: BenchmarksJSLabs Blog:  phpBB 3...is it worth the wait?Christopher Jones' Blog: Installing Oracle XE on Ubuntu with PHPChris Chabot's Blog: phpSocketDaemon
313545
Luke Welling takes a humorous look at something he misses in PHP - register globals being set to on.    I am aware that there are some things so shocking that you are not supposed to say them in polite company [...] so confronting that they are best kept to yourself regardless of how strongly you believe them. I have a similarly shocking sentiment that I feel I have to share.   I really like register_globals in PHP.    He reminicies about the days gone by of being able to assume that register_globals is turned on, the days of simpler, lighter code that's even easier for the newbies to get into. Anyone for a tshirt?
142315
As mentioned by Elizabeth Naramore on the php|architect website today, the CakePHP porject has launched their own live/podcast series, The Show to highlight different happenings in the project's community.   The Show was conceived after core developer Nate Abele and I recorded a podcast for php|architect with our good friend Paul Reinheimer. We had so much fun doing the podcast, that we decided to keep it going for the CakePHP community. The Show was born.   The show is broadcast live, but you can always to get the shows if you can't make it for the live event. Questions are welcomed during the show via Skype, IRC (#cakephp-live on Freenode) and telephone.   Two episodes of the show have already aired - the polit, an Introduction to CakePHP 1.2 and a look at Writing Console Applications.
519884
Marco Tabini (of php|architect) has posted some thoughts to his blog about the PHP4 end-of-life announcement and its relations to the current push to go PHP5 - mainly how it relates to hosting providers.   I'm sure that a large number are owners of small hosting firms - which, by far, provide the vast majority of PHP-powered websites that Netcraft carefully tracks for us - that sell cheap shared hosting. [...] If you provide shared-hosting plans, it's likely that your servers are still running PHP 4. Upgrading to PHP 5 is a logistical nightmare for two reasons: first, you don't necessarily know that you'll be able to properly set up and secure your systems; second, you don't know that your customers' applications will keep on running.   Both reasons can cause very different kinds of hassles for the hoster, especially when it comes to their customers. As Marco puts it "hell hath no fury like a customer scorned". When things are going smoothly, everything's good, but the second that you try to explain that the update is what's good for them, all they see are things breaking and freak out.   He suggests only one real solution - make the move and tell the customers now that things are changing. Help them all you can (with information about updated software and resources) but ultimately it's up to them to make the change.
414301
Over on the ThinkingPHP Blog, Felix Geisendorfer has completed his series of Ten Days of Free Dessert with some useful tips about using the CakePHP Framework.   'm announcing the "10 Days of free Dessert!". This basically means that I'll post at least 1 useful and easy to adapt CakePHP tip begining tomorrow for the next 10 days. I will try to pick things you might not have heard before and that didn't get a lot of loving from the docs team so far.   Here's the listing:  The 7 Crucials of CRUD Become Friends with the Inflector Generate a Random Password Keep Your Cake Fresh (use SVN HEAD) Keep a Custom Configuration File MySQL & UTF-8 Conventions over Ego Render Custom Errors Graceful Error Handling Default Models, Components, and Helpers  Each of the posts contains a description of the feature and some code to show how it's done. It's a great, handy little series of posts for any CakePHP developer to keep in their toolkit to pull from later on.