Knowledge Requirements

How much you must know before you start using Agile Toolkit and what will Agile Toolkit teach you?

Agile Toolkit is used to power many high end projects and it does not lack in flexibility or power. Nevertheless, developing with Agile Toolkit is much simpler than developing with plain PHP alone. Once you start using Agile Toolkit, it's unlikely that you'll want to mess with things on the low level of PHP again. It makes a great deal of sense to skip some low-level stuff and get real results quick.

I will make one thing clear. Agile Toolkit is aimed at "developers", guys who write application code inside a proper text editor. If you prefer to use a drag-and-drop interface to build your application, Agile Toolkit might not be ideal for you. It is however a real treat to those who strive for power and control over their software.

Some other frameworks will expect developers to be well familiar with Web Development already. Neither this book or Agile Toolkit require that. You may be a developer coming from a non-web development platform and would still be confident with Agile Toolkit and be able to grasp it.

Learn to program

If you have been "mashing" and only slightly immersed yourself into the development, you will need to be comfortable with it. I have seen wordpress / drupal developers who did not know how to iterate through an array.

It is a good time to strengthen your core concepts of programming before going forward. If you are coming from a different programming language, you should quickly check PHP language features before moving on. Look through PHP language reference to make sure you become familiar with language constructs.

Object-Oriented Programming Training

Apart from the syntax, you need to understand how objects work. Look for some on-line documentation on Object-Oriented Programming for more information. You will need to understand the difference between a Class and an Object, how class inheritance works, and how you can override methods. Some experience in object-oriented development is really beneficial when using Agile Toolkit, even if you've used a language other than PHP. If you have developed any desktop application in Java or ObjectiveC, you will feel "at home" with Agile Toolkit.

Understanding Performance

If you think that the speed of your application depends on the framework you're choosing then you do not fully understand the measurement of performance and concepts of scalability. This book will introduce you to the theoretical performance and how the use of a toolkit can improve your developer performance with minimum overheads of application performance.

Guidelines for naming methods

Apart from what was explained above, there are other guidelines and principles you should follow when creating methods:

Prefix dynamically-executed methods

Agile Toolkit uses camelCase method naming. When methods are called dynamically, they should be prefixed with a keyword and an underscore. For example: if you want to add a page into the API, your method would start with "page_".Similarly you would use "page_" for sub-pages, "layout_" for ApiFrontend layouts, and so on.

Method visibility

Due to the nature of Agile Toolkit, you will find most of the methods and properties defined as public. This is because some of the controllers require access to those methods and properties, and there is no way to define a "Friendly" class in PHP. Use your common sense when programming. Don't start manually creating objects and adding them into $obj->elements[] just because the elements array is public.