That’s the right way to go, instead of modifying a core class within the framework folder. The first reason of leaving the framework folder and the original classes intact, is that you can be able to use the SAME code for several projects, and the distinctive code of each project should be inside each project’s folder, not in the common core code. The second reason, is that if you want that another programmer comes in the future and wants to work with your code, he can trust that he is standing on the basic framework, and PREDICT your code. In general it is a good policie to write code thinking that it will be read by others. The third reason is that you must be able to UPGRADE to the next Framework’s version whenever you want, without having to repeat over and over modifications in the core classes. Such extension can be put in the protected/components folder, for example: