├── .gitignore ├── appendix_01 ├── Url │ ├── Shortener.php │ └── Shortener │ │ ├── Bitly.php │ │ ├── Interface.php │ │ ├── Isgd.php │ │ └── Tinyurl.php ├── package.xml └── packager.php ├── appendix_02 ├── ArrayAccess.php ├── ArrayObject.php ├── Countable.php ├── File-Directory.php ├── PriorityQueue.php ├── SPLFileInfo.php ├── SplFixedArray.php ├── autoload.php └── stack_queue.php ├── chapter_01 ├── Courier.php ├── HeavyParcelException.php ├── MonotypeDelivery.php ├── Parcel.php ├── PigeonPost.php ├── Trackable.php └── simple_class.php ├── chapter_02 ├── PDOException.php ├── PDOStatement.php ├── bind_parameter.php ├── bind_value.php ├── delete.php ├── error_execute.php ├── error_handling.php ├── insert.php ├── prepared_statement.php ├── row_count.php └── transaction.php ├── chapter_03 ├── ServiceFunctions.php ├── array.php ├── calendar_js.php ├── calendar_table.php ├── curl.php ├── flickr.xml ├── flickr_call.php ├── index.php ├── json.php ├── pecl_http.php ├── proxy.php ├── rest │ ├── .htaccess │ ├── eventscontroller.php │ ├── index.php │ └── request.php ├── simple_xml.php ├── streams.php ├── wsdl.xml └── xml_load_string.php ├── chapter_04 ├── Controller.php ├── DependencyInjection.php ├── ErrorModel.php ├── Event.php ├── Factory.php ├── FilterIterator.php ├── Iterator.php ├── IteratorExplanation.php ├── IteratorInterface.php ├── LimitIterator.php ├── LogCallback.php ├── Model.php ├── MyDataRecord.php ├── Observer.php ├── RecursiveIterator.php ├── RegexIterator.php ├── Registry-DB-external.php ├── Registry-DB-internal.php ├── Registry.php ├── RouterAbstract.php ├── RouterRegex.php ├── Singleton.php ├── StackedOuterIterators.php ├── View.php ├── index.php └── showErrorView.php ├── chapter_05 ├── brute_force.php ├── csrf.php ├── ctype.php ├── filter.php ├── passwords.php ├── php_self.php ├── preg.php ├── session_hijacking.php ├── sql_injection.php └── ssl.php ├── chapter_06 ├── Memcache.php ├── MySQL_Session_Handler.php ├── cache.php ├── footer.php └── header.php ├── chapter_07 ├── lib │ ├── Calculator.php │ ├── Foo.php │ └── Totaller.php └── tests │ ├── BaseSeleniumTestCase.php │ ├── CalculatorTest.php │ ├── DaoTest.php │ ├── DatabaseTester.php │ ├── FooSeleniumTestCase.php │ ├── FooTest.php │ ├── TestCase.php │ ├── TotallerBehavioralTest.php │ ├── TotallerTest.php │ └── phpunit.xml └── chapter_08 └── Robot.php /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/.gitignore -------------------------------------------------------------------------------- /appendix_01/Url/Shortener.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /appendix_01/Url/Shortener/Bitly.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /appendix_01/Url/Shortener/Interface.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /appendix_01/Url/Shortener/Isgd.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /appendix_01/Url/Shortener/Tinyurl.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /appendix_01/package.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_01/package.xml -------------------------------------------------------------------------------- /appendix_01/packager.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_01/packager.php -------------------------------------------------------------------------------- /appendix_02/ArrayAccess.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/ArrayAccess.php -------------------------------------------------------------------------------- /appendix_02/ArrayObject.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/ArrayObject.php -------------------------------------------------------------------------------- /appendix_02/Countable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/Countable.php -------------------------------------------------------------------------------- /appendix_02/File-Directory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/File-Directory.php -------------------------------------------------------------------------------- /appendix_02/PriorityQueue.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/PriorityQueue.php -------------------------------------------------------------------------------- /appendix_02/SPLFileInfo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/SPLFileInfo.php -------------------------------------------------------------------------------- /appendix_02/SplFixedArray.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/SplFixedArray.php -------------------------------------------------------------------------------- /appendix_02/autoload.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/autoload.php -------------------------------------------------------------------------------- /appendix_02/stack_queue.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/appendix_02/stack_queue.php -------------------------------------------------------------------------------- /chapter_01/Courier.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_01/Courier.php -------------------------------------------------------------------------------- /chapter_01/HeavyParcelException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_01/HeavyParcelException.php -------------------------------------------------------------------------------- /chapter_01/MonotypeDelivery.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_01/MonotypeDelivery.php -------------------------------------------------------------------------------- /chapter_01/Parcel.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_01/Parcel.php -------------------------------------------------------------------------------- /chapter_01/PigeonPost.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_01/PigeonPost.php -------------------------------------------------------------------------------- /chapter_01/Trackable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_01/Trackable.php -------------------------------------------------------------------------------- /chapter_01/simple_class.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_01/simple_class.php -------------------------------------------------------------------------------- /chapter_02/PDOException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/PDOException.php -------------------------------------------------------------------------------- /chapter_02/PDOStatement.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/PDOStatement.php -------------------------------------------------------------------------------- /chapter_02/bind_parameter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/bind_parameter.php -------------------------------------------------------------------------------- /chapter_02/bind_value.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/bind_value.php -------------------------------------------------------------------------------- /chapter_02/delete.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/delete.php -------------------------------------------------------------------------------- /chapter_02/error_execute.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/error_execute.php -------------------------------------------------------------------------------- /chapter_02/error_handling.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/error_handling.php -------------------------------------------------------------------------------- /chapter_02/insert.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/insert.php -------------------------------------------------------------------------------- /chapter_02/prepared_statement.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/prepared_statement.php -------------------------------------------------------------------------------- /chapter_02/row_count.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/row_count.php -------------------------------------------------------------------------------- /chapter_02/transaction.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_02/transaction.php -------------------------------------------------------------------------------- /chapter_03/ServiceFunctions.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/ServiceFunctions.php -------------------------------------------------------------------------------- /chapter_03/array.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/array.php -------------------------------------------------------------------------------- /chapter_03/calendar_js.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/calendar_js.php -------------------------------------------------------------------------------- /chapter_03/calendar_table.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/calendar_table.php -------------------------------------------------------------------------------- /chapter_03/curl.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/curl.php -------------------------------------------------------------------------------- /chapter_03/flickr.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/flickr.xml -------------------------------------------------------------------------------- /chapter_03/flickr_call.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/flickr_call.php -------------------------------------------------------------------------------- /chapter_03/index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/index.php -------------------------------------------------------------------------------- /chapter_03/json.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/json.php -------------------------------------------------------------------------------- /chapter_03/pecl_http.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/pecl_http.php -------------------------------------------------------------------------------- /chapter_03/proxy.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/proxy.php -------------------------------------------------------------------------------- /chapter_03/rest/.htaccess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/rest/.htaccess -------------------------------------------------------------------------------- /chapter_03/rest/eventscontroller.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/rest/eventscontroller.php -------------------------------------------------------------------------------- /chapter_03/rest/index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spbooks/PHPPRO1/HEAD/chapter_03/rest/index.php -------------------------------------------------------------------------------- /chapter_03/rest/request.php: -------------------------------------------------------------------------------- 1 |