July 2008
- Defining and accessing helpers
- A use case for the "extract method" refactoring
- findCount vs. hasAny
- Not everything has to be public
- Named finder methods
June 2008
- Thinking about the pagination feature
- Skipping test cases
- An alternative approach for static pages
- Order by field
- Migrating from CakePHP 1.2beta to RC1
- New callback methods for components
May 2008
- Setting the page title
- Validation of optional fields with multiple validation rules
- Three new validation rules
- New core behavior: Containable
- A missing concept: model "components"
- The dark side of failing tests
- Writing custom validation rules
- Implicit vs. explicit APIs
April 2008
- Making it easier for non-geeks to login with an OpenID
- Thinking about the model II
- Migrations - the CakePHP way(?)
- Defining an interval for minutes
- OpenID versus OAuth from the user's perspective
March 2008
- Loading vendor files
- Defining custom find types
- Enabling your application for return URL verification
- Detect the rendering of an error page
- CakePHP books
- CakePHP talk at FOSDEM
- Do you really need different ways for doing the same?
February 2008
- Edit in place with JQuery and CakePHP
- Using an SSL client certificate for OpenID
- Translations of the cookbook
- Vectorizing images
- Cookbook -- a documentation application -- launched
- Using the OpenID Simple Registration Extension
- New version of the OpenID component
- Twelve new projects on CakeForge -- six still alive
- Attaching and detaching model behaviors on-the-fly
January 2008
- Defining custom "vendors" folders
- Baking plug-ins
- Fat models and how they change how you use the Model class
- Thinking about the model
- Deprecated stuff in CakePHP 1.2
- Counting associated records
- Upgrading from CakePHP 1.2 pre-beta to the beta version
- Starting into the new year
December 2007
- Faster baking with bake
- A small change in Controller::redirect()
- Rendering elements from controllers
- An alternative way to create arrays
- A black sheep with the name Model::updateAll()
- The irony of Model::deleteAll()
- Testing with partial mock objects
November 2007
- Time- vs. feature-oriented releases
- All "load" functions & listClasses() are now deprecated
- Organizing your code with folders
- Every commit a mini-release
- Simplifying the App(Controller/Model/Helper) concept
- Class "Configure" not found with development setup
- One application, multiple configurations
- Non-existing fields no longer supported in FormHelper
- NoseRub
- New CakePHP forum started
- Saving a model without data
October 2007
- What I didn't knew about controllers without models
- Becoming an early riser for free
- Overview of 22 more or less new CakeForge projects
- Upgrading to CakePHP 1.2 pre-beta
- Building a Facebook application with CakePHP
- Pagination of data from a HABTM relationship
- Code completion in views with Eclipse PDT
- Comparison of three PHP frameworks
- Deprecation warnings when using an "old" core.php
- Slugify strings
- Blog tutorial for CakePHP 1.2
- Zero items vs. x items in a view
September 2007
- How to write and test your own head helper
- Use a convention to structure your code
- Don't implement a known concept differently
- First version of the CakePHP 1.2 manual online
- Why you should test your CakePHP applications
- Regular expression to check for content between tags
- OpenID comments broken
- When the repository url changes
- How to defend yourself in a discussion
August 2007
- What do I wrong that the other person fails?
- Bye, bye, CakePHP team
- "I don't trust CakePHP" or what should you say in public?
- Lessons learned from loadController(null)
- Generating UUIDs with CakePHP
- Faster CSS development with the blueprint framework
- How to use a helper in a controller
- Using distinct and count with CakePHP
- Should the table definition be in the model?
July 2007
- Introduction to CakePHP for newbies
- Select distinct with CakePHP
- Mambo goes CakePHP
- Bash completion script for CakePHP's console
- "Premature end of script headers" with baked views
- User-friendlier country selection
- Element or helper?
- Cheatsheets for HtmlHelper and FormHelper
- Usability-driven development
- Less TV, more sport
June 2007
- When programming becomes stale...
- The "Multitype Parameter" Pattern
- What happens if you do a request?
- Baking views
- 10 new projects on CakeForge
- Faster baking of controllers with the bake shell script
- New versions of test suite and coretest script
May 2007
- Baking a bit faster with the bake script
- How to get rid of "CakePHP: the PHP Rapid Development Framework" at the top of your pages
- API shell script
- Which Cake should you eat?
- How to use SQL functions in conditions, part II
- What's the release date of the stable version of CakePHP 1.2?
- Shells and Tasks
- CakePHP wins a web 2.0 award!
- 15 new CakeForge projects
- Writing a custom CakePHP console script
- How to use SQL functions in conditions
- Cleanup day
- Jamal Helper
April 2007
- Define your own "for_layout" variables
- How to use NOT IN in a condition
- Debian packages for CakePHP
- How to enable/disable debug messages for a certain action
- Writing an installer for your CakePHP application
- Criki - the creation of a wiki with CakePHP, Part 5
- initialize() callback for components
- An early Easter gift
- What's new in CakePHP 1.2?
- Criki - the creation of a wiki with CakePHP, Part 4
- How to test your plugins?
- Three myths about testing
March 2007
- Redirect with exit
- 14 new CakeForge projects
- How to use the official CakePHP test suite
- Criki - the creation of a wiki with CakePHP, Part 3
- "Model/field" has been deprecated
- MVC with Javascript
- Referencing CSS files
- Formats for the Selenium IDE
- Expandable links
- Criki - the creation of a wiki with CakePHP, Part 2
- Baking a Cake - From the domain model to Cake models
- How to create an input field without a label
February 2007
- Switch your OpenID server on-the-fly
- Should you use Model::query() in the controller?
- Referencing Javascript files
- Using a helper inside another helper
- Baking a Cake - Installation & Configuration
- Criki - the creation of a wiki with CakePHP, Part 1
- Nine new CakeForge projects (and four of them already dead)
- Baking a Cake - Domain model
- Baking a Cake - Requirements
- Baking a Cake - The start
- French CakePHP portal started
- Testing the core & two new releases
- OpenID enabled for comments
- j.42dh is online
January 2007
- cakemac
- Joomla and CakePHP
- (Cake)PHPThrowdown
- UUID component for CakePHP
- Sugar icing on the cake
- Let's eat cake and cookies
- Cook up websites fast with CakePHP, part 5
- cakeinfo
- Integrating OpenID into your testing environment
- CakePHP and OpenID
- Cook up websites fast with CakePHP, part 4
- Parameter for Model::validates() is now deprecated
- CakePHP reference projects
- Validation with CakePHP 1.2
- Cake 1.2 available in trunk
December 2006
- Time-stamped packages, the bakery & the wiki
- cakebaker is one year old :)
- Migration from PHPEclipse to PHP IDE
- Syntaxhighlighting for .ctp files in Eclipse
- Two gifts for CakePHP users
- Grouping error messages
- Cake Pour Tous
- Cook up websites fast with CakePHP, part 3
- Testing with CakePHP 1.2 - A preview
- Browsershots
- A little face lifting
- Cook up websites fast with CakePHP, part 2
- The power of milestones
- Preview of a new Selenium test suite
- An early "Samichlaus" gift: version 1.1.11.4064 of CakePHP
- Text datatypes in MySQL
- Support for Oracle databases
November 2006
- Is a dedicated database connection for testing purposes needed?
- DB migrations
- Livesearch with CakePHP
- Cook up websites fast with CakePHP
- How to use Selenium with SimpleTest
- Six new CakeForge projects
- Passing data to the view
- Don't rely on side effects in your code
- Version 1.1.9.3817 of CakePHP released
- "Redirecting" database calls
October 2006
- Cannot send session cache limiter
- Integrating Google Co-op results in Wordpress
- Search engine for CakePHP related stuff
- A first glimpse at two core bake tasks
- Some documentation in Spanish
- A simple task to generate sql scripts
- Five new CakeForge projects
- A spinned Apache
- Finding your purpose in life
- New CakeBin
- Becoming fit for baking cakes
- How to understand your problem domain
- Do we really need HTML and CSS on the web?
- New Selenium helper
- Seven new CakeForge projects
- Writing an overloadable helper
September 2006
- Using an IN list in a condition
- How to shorten your $html->image() statements
- Preparations for baking an application
- Different ways an open-source project can make some money
- Feed icons
- The bakery opened its doors
- Share helpers and components between projects
- How to use the File class from the core
- Job listing: Web developer in San Diego, USA
- "21 things I learned about CakePHP"
- questions, nothing but questions
- Update /app/webroot/js/vendors.php!
- An alternative to "hacking" config files
- CakePHP and TinyMCE
- Model without table
- A project ends, a project starts
- New projects on CakeForge
- Avoid clutter in your elements folder
- CakePHP resources
- pic2color
August 2006
- Getting Things Read
- Don’t forget to exit after a redirect
- findABaker job board started
- Selecting data in a specific date range
- CSSplay
- YAML in a cake? No, thank you!
- Updating multiple divs with Ajax. Without crashing Firefox
- Take over the “control” of some urls from CakePHP
- Testing a cake - what’s missing?
- ssh_exchange_identification: Connection closed by remote host
- How to use multiple AppModels?
- Why are there two “vendors” folders in CakePHP?
- Using Zend Framework Components in CakePHP
- An idea for sending emails with CakePHP
- Security fix for XSS vulnerability
- (PHP)Eclipse and phpDocumentor
- How to apply a beforeSave to certain models only
- How to apply a beforeFilter to certain actions only
- New core helper: SessionHelper
July 2006
- Overcoming the limitations of Selenium Core
- Cakebaker joins the CakeBakery
- First (?) german CakePHP blog started
- Be careful with file uploads
- Looking for the (hosting) needle in the (web) haystack
- How to list all controllers
- Unofficial CakePHP forums
- A simple SOAP example
- Hey programmer, why don’t you code in english?
- Version 1.1.6.3264 of CakePHP released
- Extending the CakePHP framework
- Your first bite of CakePHP
- Using bake with (PHP)Eclipse
- Seven free layout templates for CakePHP
- Automatic XHTML validation
- An alternative approach for organizing your controllers
- Five new projects on CakeForge
June 2006
- How to update multiple divs with Ajax
- AjaxLoad - custom ajax activity indicators
- EasyEclipse
- Time Breakdown of Modern Web Design
- Cake Sheet
- Planet MVC
- New blog: Creating a large application with CakePHP
- And again a bug fix release: 1.1.5.3148
- Printing the CakePHP manual
- Writing a custom error handler
- A new bugfix release: 1.1.4.3083
- Ticket tracking
- On one’s own account
- How to create a link within a plug-in
- Baking Day
- Cameleon & Butler
- Autocompletion - the easy way
- Tutorial: How to set up CakePHP with the Uniform Server
May 2006
- The theory of goodwill accounts
- Become a CakePHP certified engineer
- mysqli support for CakePHP
- Dreamweaver and CakePHP
- Introductory article about CakePHP
- Bugfix release of CakePHP
- New versions of the Selenium helper
- Be careful what you put in your querystring
- Don’t ask if you can ask
- Four new tutorials about IIS, ACL, an online editor, and pagination
- Some learnings from working in a distributed team
- Five new CakeForge projects
- Cake Migrations
- Once again an update of the advanced validation approach
- CakePHP screencasts
- A small update of the advanced validation approach
- The Cake Bakery is moving forward
- Destroying a session
- Baking with Sosa
- A small bug in the advanced validation approach
- A comparison of Rails-inspired PHP frameworks
- Upgrading to version 1.0 III
- Upgrading to version 1.0 II
- Upgrading to version 1.0
- Version 1.0 of CakePHP released!
April 2006
- Testing infrastructure has been moved to CakeForge
- An Ajax file upload progress bar
- Wiki is down
- $this->model->recursive could cause a bug in your application
- Trunk has been restructured
- Use components from the Zend Framework with CakePHP
- Image gallery and thumbnail generator for CakePHP
- Another tutorial about creating multilingual CakePHP applications
- Using UTF-8 as encoding for the database connection
- Two tutorials and three new CakeForge projects
- File upload with CakePHP
- Blogging cake bakers
- Don’t use special characters in your root password
- seconds11
- Tutorial: Creating CSS menus
- CakePHP google groups in seven different languages
- New components and CakeForge projects
- CakePHP group in Russian
- A small bug in the advanced validation approach
- Run PHP5 in PHP4 mode
March 2006
- Oh my blob!
- File upload with Selenium
- A simple redirect component
- Manual and API docs as *.chm files
- Access the CakePHP IRC channel via web
- Two new CakeForge projects
- CakePHP design contest
- Selenium
- Comparison of ten PHP frameworks
- 30 Ajax tutorials
- Final release 0.10 of CakePHP
- Captcha component for CakePHP
- Validation approaches for CakePHP
- Redirect with Ajax
- Smarty Cake
- Meta search engine for CakePHP material
- Some new features
- PHPMailer with CakePHP
- Building Cake Bakery
- Two extensions for the Firefox searchbar for searching in the api/wiki
- Some new chapters in the manual
- Support for mailto-links in HtmlHelper::link()
- Some new convenience functions for the RequestHandler
- A CakePHP success story
- CakePHP group in Chinese
- Store your sessions in a different database
- Conditions in CakePHP RC6
- Make a difference between insertion and update
February 2006
- Release Candidate 6 of CakePHP is here
- Some changes for Session->flash() and Session->setFlash()
- Downloadable manual
- Tutorial: Alternative installation locations
- A failed symfony
- ——- 1000 ——-
- Test your models
- Switch your database configuration based on some criteria
- New CakeForge projects
- New feature: bindModel/unbindModel
- Introduction to ACL
- New syntax for conditions II
- New syntax for conditions
- Developing a bulletin board with CakeAMFPHP
- Release Candidate 5 of CakePHP is available
- CakePHP conventions
- Signature of AjaxHelper::submit() has changed
- Webservices with CakePHP
- A more flexible directory layout
- New syntax for “order by” clauses with several columns
- Values of input fields in the same array
- SpliceIt!
- Don’t break the contract!
- An Ajax task list with CakePHP
- Data validation tutorial
- CakePHP api documentation in Windows help format
- A new cake blog
- CakePHP for beginners
- New features: AjaxHelper::editor() and AjaxHelper::slider()
- How to report bugs effectively
- Yet another data validation approach
- What could be the killer application for CakePHP?
- CakePHP and IIS
- Release Candidate 4 of CakePHP is available
- Several new CakeForge projects
- New feature: afterFilter for controller
- Some CSS trouble with input and textarea in Firefox
- A controller without a model
- Signature of some TimeHelper functions has changed
January 2006
- Let’s crash Firefox!
- The thing with the euro sign
- Syntaxhighlighting in .thtml files with PHPEclipse
- Model->setId() is deprecated
- Custom model validation easily done
- CakePHP error messages are not shown, and what you can do against it
- RSS feed for gwoo’s blog
- Inofficial CakePHP user button
- gwoo is blogging
- Nice custom validation solution
- New feature: controller->referer()
- “Ajax in CakePHP” tutorial in Chinese
- Just another PDF creation tutorial for CakePHP
- $ajax->linkToRemote() is deprecated
- $useDbConfig is now in the model
- Two useful functions for your AppModel
- CakePHP RC3 released
- CakePHP as Pear Package II
- Creating PDFs with CakePHP
- Another use case for beforeSave()
- beforeSave() example
- Dynamic menu with CakePHP
- Submit a form with Ajax
- CakePHP RC2 is here!
- The right encoding for your Ajax views
- How to use rdAuth?
- CakePHP soon as Pear Package?
- Trouble with utf-8
- Nice Date-Picker Widget
- New feature: model “filters”
- Updating CakePHP IV
- CakePHP Releasecandidate 1 is available
- CakePHP group in Spanish
- CakePHP websites
- Updating CakePHP III
- Updating CakePHP II
- Updating CakePHP I
- A lot of changes in trunk
- SQL-Script for dropping dbAcl tables
- Support for JavaScript and mailto links in HtmlHelper::link()
- Docs wishlist
- Wrong testing approach :(
- Execute your CakePHP tests in your IDE
- Toggling associations
- Testing CakePHP applications
- ThinkingPHP
- Programming Algorithms Directories
- How can I toggle the visibility of elements?
- CakePHP and the dbAcl beast
- CakePHP is the number 3 of PHP MVC frameworks…
- Fatal error in basics.php
- Cake Software Foundation Pixel Fund
- CakeAMFPHP
- aflatters ideas for CakePHP
- Pipeline vs. CakePHP
- The first bug fix release for the beta version
- CakeForge and Subclipse
- CakePHP: requestAction()
- New Year’s Cake



