ebook img

PHP/architect's Zend PHP 5 certification study guide PDF

278 Pages·2006·2.76 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview PHP/architect's Zend PHP 5 certification study guide

php|architect’s php|architect’s Zend PHP 5 Certification ZEND PHP 5 Study Guide Zend's new PHP 5 Certification Exam represent an excellent tool for professional e d PHP developers who want to distinguish themselves in their field. i u Certification G php|architect's Zend PHP 5 Certification Study Guide, edited and produced by n the publishers of php|architect magazine, provides the most comprehensive and o thorough preparation tool for developers who wish to take the exam. i t a c This book provides complete coverage of every topic that is part of the exam, i f including: ti STUDY GUIDE r e C ✔ PHP Basics 5 ✔ Functions P ✔ Arrays H P ✔ Strings and Patterns d ✔ Web Programming n ✔ Object Oriented Programming e ✔ Database Programming Z ✔ Object-oriented Design s ’ ✔ XML and Web Services t c ✔ Security e t ✔ Streams and Network Programming i h ✔ Differences Between PHP 4 and 5 c r a | p Written by PHP professionals and Zend Certified PHP 5 Engineers Davey Shafik and h p Ben Ramsey, and reviewed by core PHP developer Derick Rethans, this is the perfect book for every prospective Zend Certified PHP Engineer candidate! y e s m a R US $32.99 . B Canada $42.99 / UK (net) £19.99 From the publishers of k i f a h S . Davey Shafik with Ben Ramsey D Shelve under PHP/Web Development/Internet Programming 7.50 x 9.25 7.50 x 9.25 .571 php|architect’s Zend PHP 5 Certification Study Guide byDaveyShafik withBenRamsey php|architect’sZendPHP5CertificationGuide ContentsCopyright©2006DavidShafikandBenRamsey–AllRightsReserved Bookandcoverlayout,designandtextCopyright©2004-2006MarcoTabini&Associates,Inc.–AllRightsReserved FirstEdition:October2006 ISBN:0-9738621-4-9 ProducedinCanada PrintedintheUnitedStates Nopartofthisbookmaybereproduced,storedinaretrievalsystem,ortransmittedinanyformor bymeanswithoutthepriorwrittenpermissionofthepublisher,excetinthecaseofbriefquotations embeddedincriticalreviewsorarticles. Disclaimer Althougheveryefforthasbeenmadeinthepreparationofthisbooktoensuretheaccuracyofthe informationcontainedtherein,thisbookisprovided“as-is”andthepublisher,theauthor(s),theirdis- tributorsandretailers,aswellasallaffiliated,relatedorsubsidiarypartiestakenoresponsibilityforany inaccuracyandanyandalldamagescaused,eitherdirectlyorindirectly,bytheuseofsuchinforma- tion.Wehaveendeavouredtoproperlyprovidetrademarkinformationonallcompaniesandproducts mentionedinthebookbytheappropriateuseofcapitals.However,wecannotguaranteetheaccuracy ofsuchinformation. MarcoTabini&Associates,TheMTAlogo,php|architect,thephp|architectlogo,NanoBookandthe NanoBooklogoaretrademarksorregisteredtrademarksofMarcoTabini&Associates,Inc. Writtenby DaveyShafik BenRamsey Publishedby MarcoTabini&Associates,Inc. 28BombayAve. Toronto,ONM3H1B7 Canada (416)630-6202/(877)630-6202 [email protected]/www.phparch.com Editedby SeanCoates TechnicalReviewers DerickRethans PaulReinheimer LayoutandDesign ArbiArzoumani ManagingEditor EmanuelaCorso Contents Foreword xv HowToUseThisBook xvii Chapter1—PHPBasics 3 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 SourceFilesandPHPTags . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 NewlineCharacters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 AnatomyofaPHPScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Whitespace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 CodeBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 LanguageConstructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 DataTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 NumericValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Booleans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 CompoundDataTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 OtherDataTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 ConvertingBetweenDataTypes . . . . . . . . . . . . . . . . . . . . . . . 11 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 VariableVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 DeterminingIfaVariableExists. . . . . . . . . . . . . . . . . . . . . . . . 14 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 vi ” CONTENTS Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 ArithmeticOperators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 TheStringConcatenationOperator . . . . . . . . . . . . . . . . . . . . . 17 BitwiseOperators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 AssignmentOperators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ReferencingVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ComparisonOperators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 LogicalOperators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 OtherOperators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 OperatorPrecedenceandAssociativity . . . . . . . . . . . . . . . . . . . 25 ControlStructures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ConditionalStructures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 IterativeConstructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 BreakingandContinuing . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ErrorsandErrorManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 TypesofErrors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ErrorReporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 HandlingErrors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Chapter2—Functions 37 BasicSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ReturningValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 VariableScope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 PassingArguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Variable-lengthArgumentLists . . . . . . . . . . . . . . . . . . . . . . . . 42 PassingArgumentsbyReference . . . . . . . . . . . . . . . . . . . . . . . 43 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Chapter3—Arrays 47 ArrayBasics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 PrintingArrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Enumerativevs.Associative . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Multi-dimensionalArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 UnravellingArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 CONTENTS ” vii ArrayOperations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 ComparingArrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Counting,SearchingandDeletingElements . . . . . . . . . . . . . . . . 53 FlippingandReversing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 ArrayIteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 TheArrayPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 AnEasierWaytoIterate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 PassiveIteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 SortingArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 OtherSortingOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 TheAnti-Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 ArraysasStacks,QueuesandSets . . . . . . . . . . . . . . . . . . . . . . . . . 67 SetFunctionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Chapter4—StringsAndPatterns 73 StringBasics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 VariableInterpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 TheHeredocSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 EscapingLiteralValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 DeterminingtheLengthofaString. . . . . . . . . . . . . . . . . . . . . . 76 TransformingaString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 UsingStringsasArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Comparing,SearchingandReplacingStrings. . . . . . . . . . . . . . . . . . . 78 SimpleSearchingFunctionality . . . . . . . . . . . . . . . . . . . . . . . . 79 MatchingAgainstaMask . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 SimpleSearchandReplaceOperations . . . . . . . . . . . . . . . . . . . 81 ExtractingSubstrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 FormattingStrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 FormattingNumbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 FormattingCurrencyValues . . . . . . . . . . . . . . . . . . . . . . . . . . 85 GenericFormatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 ParsingFormattedInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Perl-compatibleRegularExpressions . . . . . . . . . . . . . . . . . . . . . . . 89 viii ” CONTENTS Delimiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Metacharacters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Quantifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Sub-Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 MatchingandExtractingStrings . . . . . . . . . . . . . . . . . . . . . . . 92 UsingPCREtoReplaceStrings . . . . . . . . . . . . . . . . . . . . . . . . 94 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Chapter5—WebProgramming 97 AnatomyofaWebPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 FormsandURLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 GETandURLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 UsingPOST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 WhenYouDon’tKnowHowDataIsSent . . . . . . . . . . . . . . . . . . 101 ManagingFileUploads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 GETorPOST? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 HTTPHeaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Redirection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Compression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Chapter6—ObjectOrientedProgramminginPHP 113 OOPFundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 DeclaringaClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 InstantiatinganObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 ClassInheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 ClassMethodsandProperties. . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Destructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 DeclaringandAccessingProperties . . . . . . . . . . . . . . . . . . . . . 122 Constants,StaticMethodsandProperties. . . . . . . . . . . . . . . . . . . . . 123 CONTENTS ” ix ClassConstants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Interfaces&AbstractClasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 DeterminingAnObject’sClass . . . . . . . . . . . . . . . . . . . . . . . . 128 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 TheBasicExceptionClass . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 ThrowingExceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 LazyLoading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Chapter7—DatabaseProgramming 141 AnIntroductiontoRelationalDatabasesandSQL . . . . . . . . . . . . . . . . 141 Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 SQLDataTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 CreatingDatabasesandTables . . . . . . . . . . . . . . . . . . . . . . . . 145 CreatingIndicesandRelationships . . . . . . . . . . . . . . . . . . . . . 146 DroppingObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 AddingandManipulatingData . . . . . . . . . . . . . . . . . . . . . . . . 148 RemovingData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 RetrievingData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 SQLJoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 OuterJoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 AdvancedDatabaseTopics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 PreparedStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Chapter8—ElementsofObject-orientedDesign 157 DesignPatternTheory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 TheSingletonPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 TheFactoryPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 TheRegistryPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 TheModel-View-ControllerPattern . . . . . . . . . . . . . . . . . . . . . 161

Description:
Zend's new PHP 5 Certification Exam represent an excellent tool for professional PHP developers who want to distinguish themselves in their field. php|architect's Zend PHP 5 Certification Study Guide, edited and produced by the publishers of php|architect magazine, provides the most comprehensive an
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.