I am not a professional web site developper.
I have developped and maintain a dynamic web site(with PHP and MySql) for my hobby interest though. This site is more than a simple blog site and run on MODX.
I bought Bob's book the moment it came out. Aside from usual stuff that tells you how to build website without any coding, the most strong point of his book is about how you can vastly improve your site with a little PHP coding and let the MODX engine (with APIs that you can tap) take care of otherwise hard programming exercise.
This is a thick book. You need to skim through the book and get a feeling of what is available inside. Then while you are working on creating a site, and have some questions, you can go to the excellent table of index at the back and find a topic, read them through and apply to your project.
Case in point. Recently I needed a method to dynamically insert a CSS file at the <head> section of particular pages. I remember seeing modx->regClientCSS in the online MODX page, but there was not much of an information other than the mention this can insert a CSS file. Enter Bob's book. Here is what is shown in this entry.
reg* - The following five methods insert CSS,JS, or HTML at various points of a document. In all cases, the script is registered with MODX so that it won't be injected more than once. Multiple scripts are injected in the order in which they are reigstered.
regClientCSS(string $src) - Places the string just above the closing </head> taf of the document. If $src contains '<link'or '<style', it will be insereted a writttn. Otherwise it will be wrapped as follows;
'<link rel="stylesheet" href="'. $src . '" type="text/css:" >'
This chunk of information turned out to be the exact information that I wanted to know. In another word;
1) Multiple calls to this method will not result in multiple references to the same CSS. the function takes care of itself as "required once"
2) parameter can be not only a file path but also a string that actually contains style tag and attributes "<style>..</style>"
I could have eventually gain this knowledge by googling Internet I am sure. but it could cost me half an hour or more.
The book is packed with this type of information. I constantly going back to the book when I am working on the site. Indispensable.