I started off with frequent CakePHP problems last month. This month I add some common PHP problems. Strip additional white spaces With UTF8 the "normal" preg_replace doesn’t really work anymore. For some cases we could use the following trick: $str…
Preventing Brute Force on Login
With default cake login procedures a user could try unlimited passwords to one specific account. That means, if you write a bot that tries every possible combination (thousand times per minute!), this bot could eventually gain access to the account….
Loading Classes on the fly
With the LazyLoading Model from Lorenzo (there are other sources as well) we already speed up the application by 20-40% (depending on the application size and amount of models). Something i never really liked is that components and helpers can…
Frequent CakePHP problems and solutions
On Google Groups you read about some problems over and over. So i thought, why not putting the most frequent ones together. Add/Edit Post Url If you have an url like "/products/add/import:1/manufacturer:4" and you want to preserve the url on…
About PHP basics and pitfalls
AND, && and & Usually you use && in favor of AND. At least, I prefer! Cake code conventions state the same. But they do exactly the same: They "intelligently" match the conditions and abort as SOON as the first…
Complete CakePHP naming conventions
For details into some aspects take a look at my old "coding standards" summary. Database Database tables are plural: "comments" or "user_comments" etc. I recommend to stick to conventions and underscore + lowercase all table fields: "last_login" (instead of "lastLogin"…
CakePHP Beginner Tips
Based on CakePHP1.x. Valid for 2.x (see updates below). Apache Server For Windows use WAMPServer2 and select "Apache" => "Apache Modules" => "rewrite_module". Thats all there is. Cake should now work out of the box without any other modifications. Database…
CakePHP Security
When I first started with CakePHP I didn’t know about those things, either. Everything was new and I was overwhelmed by all the functionality of the framework. The basic rule is: Validate input, escape/sanitize output Input I already wrote an…
Console for CakePHP
A Cake 2.x warning: Read the bottom part ("Hot Tip") – and do NOT add Cake to the system path anymore. Windows and CakePHP 1.x Nothing easier than that! 2 minutes and it works. I prefer WAMP (XAMPP sucks). But…
Behaviors in CakePHP
I didn’t use behaviors for the first 12 months with Cake. I regret it now, because the code is no much cleaner and easier to extend. Let’s make a test with a simple task. We need some additional statistics to…