Errata
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted By | Date submitted | Date corrected |
---|---|---|---|---|---|
Mobi | Page Kindle Locations 7472-7476 In the TIP section aliases |
Hello there, In the TIP section of Appendix B, Kindle Locations 7472-7476, the author suggests the creation of an alias like this one : I recommend you create command-line aliases for these Vagrant commands because you’ll type them a lot. Drop these into your ~/. bash_profile file and restart your terminal application: alias vi =" vagrant init" IMHO this is dangerous as it remaps a very common UNIX command: « vi » Perhaps a solution to this would be to create the aliases as « vai » instead of « vi ». All other alias examples could also be changed like this : alias vai =" vagrant init" alias vau =" sudo echo 'Starting VM' && vagrant up" alias vaup =" sudo echo 'Starting VM' && vagrant up --provision" alias vap =" vagrant provision" alias vah =" vagrant halt" alias vas =" vagrant ssh" That would prevent future issues for some people. HTH, David Note from the Author or Editor: |
David Robillard | Apr 23, 2015 | Feb 26, 2016 |
Page 16 Example 2-10 descriptor |
The descriptor of the example reads: Example 2-10. StreamDocument class definition It should read: Example 2-10. CommandOutputDocument class definition Note from the Author or Editor: |
Eric Blount | Mar 14, 2015 | Feb 26, 2016 | |
Page 24 4th paragraph |
The line "However, generators greatly simply certain tasks while using less memory." should read "However, generators greatly simplify certain tasks while using less memory." Note from the Author or Editor: |
imaguidhir | Sep 09, 2015 | Feb 26, 2016 | |
Page 32 2nd paragraph in Start the Server |
"As you browse your application in your web browser, each HTTP request is logged to standard out in your terminal application so you can see if you application throws 400 or 500 responses." should read: "As you browse your application in your web browser, each HTTP request is logged to standard output in your terminal application so you can see if your application gives 400 or 500 responses." Note from the Author or Editor: |
imaguidhir | Sep 09, 2015 | Feb 26, 2016 | |
Page 33 Last paragraph in "Router Scripts" |
There's an extra 'a' in the last sentence of this paragraph. "Using a router script is easy. Just pass the PHP script file path as a an argument when you start up the PHP built-in server:" should read: "Using a router script is easy. Just pass the PHP script file path as an argument when you start up the PHP built-in server:" Note from the Author or Editor: |
imaguidhir | Sep 09, 2015 | Feb 26, 2016 | |
Printed | Page 90 Example 5-13, 5-14 and especially 5-15 |
The code in these examples is actually valid but confusing because you are inconsistent with regards to global namespace. In 5-13 you do not preface `new DateTime` with a backslash but in 5-14 you use `new \DateTime`. And then in 5-15 you mix the two with sometimes prefix-ing with a backslash and sometimes without. I understand that when you do not declare a namespace it's optional but it's still a bit messy. Being a bit picky though. 5-14 is also a bit confusing as you have a 3 as the third argument for DatePeriod but the outputs give 4 items. Only after reading page 92 did you introduce EXCLUDE_START_DATE. That being said I am enjoying the book so far, so kudos! Cheers, Mike Note from the Author or Editor: |
Mike Reeves | Aug 10, 2015 | Feb 26, 2016 |
Printed | Page 94 2nd paragraph, example 5-18 |
Example 5-18 description says that the database name is acme, username is josh and password is sekrit but the example DSN and parameters use books, USERNAME and PASSWORD respectively. Note from the Author or Editor: |
Elias Coronado | May 25, 2015 | Feb 26, 2016 |
Printed | Page 95 1st paragraph |
I recommend changing "Never hard-code database credentials into PHP files, especially PHP files served to the public" to "Never hard-code database credentials into PHP files served to the public". The right way IS to hard-code into PHP files, but not public ones (as is shown lower on the page). Note from the Author or Editor: |
Rick Silva | Nov 01, 2015 | Feb 26, 2016 |
PDF, ePub, Mobi | Page 98 Example 5-22 |
the bindValue is used with string value and PDO::PARAM_INT data type. $statement->bindValue(':email', $email, PDO::PARAM_INT); Same error occurs in examples 5-22, 5-23, 5-24 and 5-25. Note from the Author or Editor: |
harrijauri | Apr 10, 2015 | Feb 26, 2016 |
Printed | Page 100 Example 5-25 |
Inside the while loop, the code tries to echo the 'name' property of the object stored in $result. The property should be 'email'. Note from the Author or Editor: |
Anonymous | Mar 20, 2015 | Feb 26, 2016 |
Printed | Page 102 Under // Withdraw funds from account 1 code section |
$withDrawal should be $withdrawal in this line: $stmtSubtract->bindParam(':amount', $withDrawal, PDO::PARAM_INT); Nitpick: In this example money should be stored as a float and not as an integer. But seeing as there is no PDO::PARAM_FLOAT or PDO::PARAM_DOUBLE I see why you made it an int and punted instead of explaining. Note from the Author or Editor: |
Mike Reeves | Aug 11, 2015 | Feb 26, 2016 |
Page 138 2nd paragraph |
The 2nd sentence of this paragraph reads: "The is the SSH server software’s configuration file". It should read "This is the SSH server software’s configuration file". Note from the Author or Editor: |
imaguidhir | Sep 16, 2015 | Feb 26, 2016 | |
Printed | Page 151 First note (2nd paragraph) |
The benchmarking utility Siege was called "Seige". Note from the Author or Editor: |
Carsten Dietzel | Dec 17, 2015 | Feb 26, 2016 |
Page 163 Roll Back Your Application |
"In the off chance" should read "On the off chance". Note from the Author or Editor: |
imaguidhir | Sep 18, 2015 | Feb 26, 2016 | |
Page 166 "After" paragraph |
"If you find a bug after your launch your application" should read "If you find a bug after you launch your application". Note from the Author or Editor: |
imaguidhir | Sep 18, 2015 | Feb 26, 2016 | |
Page 167 2nd paragraph of "Test-Driven Development (TDD)" |
"This does not meant" should read "This does not mean". Note from the Author or Editor: |
imaguidhir | Sep 18, 2015 | Feb 26, 2016 | |
Page 171 1st paragraph |
in this phrase, The bootstrap.php file also specifies the path to our test suite (i.e., a directory that contains related test cases); ... I think the 'bootstrap.php file' should be 'phpunit.xml file'. because bootstrap.php file doesn't contain any configuration about test suite. isn't it? Note from the Author or Editor: |
Anonymous | Aug 30, 2015 | Feb 26, 2016 | |
Page 174 1st paragraph, last sentence |
"The second test that ensures the method throws an exception" should read "The second test ensures the method throws an exception". Note from the Author or Editor: |
imaguidhir | Sep 18, 2015 | Feb 26, 2016 | |
Page 197 2nd paragraph |
The last word in this paragraph is misspelled. It should be "inference". Note from the Author or Editor: |
Ivan Maguidhir | Sep 18, 2015 | Feb 26, 2016 | |
Printed | Page 197 1st paragraph after code example |
"The PHP interpreter enforces this expecation" should read "The PHP interpreter enforces this expectation". Note from the Author or Editor: |
Carsten Dietzel | Dec 22, 2015 | Feb 26, 2016 |
Page 245 Last paragraph in "About the Author" |
"You can at follow Josh on Twitter" should read "You can follow Josh on Twitter". Note from the Author or Editor: |
Ivan Maguidhir | Sep 19, 2015 | Feb 26, 2016 |