LibCoder

PHP Cookbook: Modern Code Solutions for Professional Developers

1C Agda PHP
PHP Cookbook: Modern Code Solutions for Professional Developers
Автор: Mann Eric A.
Дата выхода: 2023
Издательство: O’Reilly Media, Inc.
Количество страниц: 434
Размер файла: 2,1 МБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
Cover....1 Copyright....3 Table of Contents....6 Preface....12 Who This Book Is For....13 Navigating This Book....13 Conventions Used in This Book....14 Programming Conventions....14 Typographical Conventions....14 O’Reilly Online Learning....15 How to Contact Us....15 Acknowledgments....16 Chapter 1. Variables....18 1.1 Defining Constants....20 Problem....20 Solution....20 Discussion....20 See Also....21 1.2 Creating Variable Variables....21 Problem....21 Solution....21 Discussion....22 See Also....23 1.3 Swapping Variables in Place....24 Problem....24 Solution....24 Discussion....24 See Also....26 Chapter 2. Operators....28 2.1 Using a Ternary Operator Instead of an If-Else Block....32 Problem....32 Solution....32 Discussion....32 See Also....34 2.2 Coalescing Potentially Null Values....34 Problem....34 Solution....34 Discussion....34 See Also....35 2.3 Comparing Identical Values....35 Problem....35 Solution....35 Discussion....35 See Also....37 2.4 Using the Spaceship Operator to Sort Values....37 Problem....37 Solution....38 Discussion....39 See Also....39 2.5 Suppressing Diagnostic Errors with an Operator....40 Problem....40 Solution....40 Discussion....40 See Also....41 2.6 Comparing Bits Within Integers....41 Problem....41 Solution....41 Discussion....41 See Also....44 Chapter 3. Functions....46 3.1 Accessing Function Parameters....48 Problem....48 Solution....48 Discussion....49 See Also....50 3.2 Setting a Function’s Default Parameters....50 Problem....50 Solution....50 Discussion....51 See Also....52 3.3 Using Named Function Parameters....52 Problem....52 Solution....52 Discussion....52 See Also....53 3.4 Enforcing Function Argument and Return Typing....54 Problem....54 Solution....54 Discussion....54 See Also....57 3.5 Defining a Function with a Variable Number of Arguments....57 Problem....57 Solution....57 Discussion....57 See Also....58 3.6 Returning More Than One Value....59 Problem....59 Solution....59 Discussion....59 See Also....60 3.7 Accessing Global Variables from Within a Function....61 Problem....61 Solution....61 Discussion....61 See Also....64 3.8 Managing State Within a Function Across Multiple Invocations....64 Problem....64 Solution....64 Discussion....65 See Also....67 3.9 Defining Dynamic Functions....67 Problem....67 Solution....67 Discussion....67 See Also....68 3.10 Passing Functions as Parameters to Other Functions....68 Problem....68 Solution....68 Discussion....69 See Also....71 3.11 Using Concise Function Definitions (Arrow Functions)....71 Problem....71 Solution....71 Discussion....71 See Also....73 3.12 Creating a Function with No Return Value....73 Problem....73 Solution....73 Discussion....74 See Also....75 3.13 Creating a Function That Does Not Return....75 Problem....75 Solution....75 Discussion....75 See Also....76 Chapter 4. Strings....78 4.1 Accessing Substrings Within a Larger String....81 Problem....81 Solution....81 Discussion....81 See Also....82 4.2 Extracting One String from Within Another....82 Problem....82 Solution....83 Discussion....83 See Also....84 4.3 Replacing Part of a String....84 Problem....84 Solution....84 Discussion....85 See Also....87 4.4 Processing a String One Byte at a Time....87 Problem....87 Solution....87 Discussion....88 See Also....89 4.5 Generating Random Strings....89 Problem....89 Solution....89 Discussion....90 See Also....90 4.6 Interpolating Variables Within a String....90 Problem....90 Solution....91 Discussion....91 See Also....92 4.7 Concatenating Multiple Strings Together....92 Problem....92 Solution....92 Discussion....92 See Also....94 4.8 Managing Binary Data Stored in Strings....94 Problem....94 Solution....95 Discussion....95 See Also....97 Chapter 5. Numbers....98 5.1 Validating a Number Within a Variable....99 Problem....99 Solution....99 Discussion....100 See Also....101 5.2 Comparing Floating-Point Numbers....101 Problem....101 Solution....101 Discussion....101 See Also....103 5.3 Rounding Floating-Point Numbers....103 Problem....103 Solution....103 Discussion....103 See Also....104 5.4 Generating Truly Random Numbers....105 Problem....105 Solution....105 Discussion....105 See Also....106 5.5 Generating Predictable Random Numbers....106 Problem....106 Solution....106 Discussion....107 See Also....108 5.6 Generating Weighted Random Numbers....108 Problem....108 Solution....108 Discussion....109 See Also....111 5.7 Calculating Logarithms....111 Problem....111 Solution....111 Discussion....111 See Also....111 5.8 Calculating Exponents....111 Problem....111 Solution....112 Discussion....112 See Also....112 5.9 Formatting Numbers as Strings....113 Problem....113 Solution....113 Discussion....113 See Also....114 5.10 Handling Very Large or Very Small Numbers....114 Problem....114 Solution....114 Discussion....114 See Also....116 5.11 Converting Numbers Between Numerical Bases....116 Problem....116 Solution....116 Discussion....116 See Also....117 Chapter 6. Dates and Times....118 6.1 Finding the Current Date and Time....119 Problem....119 Solution....119 Discussion....120 See Also....121 6.2 Formatting Dates and Times....121 Problem....121 Solution....121 Discussion....122 See Also....124 6.3 Converting Dates and Times to Unix Timestamps....124 Problem....124 Solution....124 Discussion....124 See Also....125 6.4 Converting from Unix Timestamps to Date and Time Parts....126 Problem....126 Solution....126 Discussion....126 See Also....127 6.5 Computing the Difference Between Two Dates....127 Problem....127 Solution....127 Discussion....127 See Also....128 6.6 Parsing Dates and Times from Arbitrary Strings....128 Problem....128 Solution....129 Discussion....129 See Also....131 6.7 Validating a Date....131 Problem....131 Solution....132 Discussion....132 See Also....132 6.8 Adding to or Subtracting from a Date....132 Problem....132 Solution....132 Discussion....133 See Also....136 6.9 Calculating Times Across Time Zones....136 Problem....136 Solution....136 Discussion....136 See Also....138 Chapter 7. Arrays....140 7.1 Associating Multiple Elements per Key in an Array....142 Problem....142 Solution....142 Discussion....142 See Also....144 7.2 Initializing an Array with a Range of Numbers....144 Problem....144 Solution....144 Discussion....145 See Also....146 7.3 Iterating Through Items in an Array....146 Problem....146 Solution....146 Discussion....146 See Also....148 7.4 Deleting Elements from Associative and Numeric Arrays....148 Problem....148 Solution....148 Discussion....149 See Also....151 7.5 Changing the Size of an Array....152 Problem....152 Solution....152 Discussion....152 See Also....154 7.6 Appending One Array to Another....154 Problem....154 Solution....154 Discussion....155 See Also....157 7.7 Creating an Array from a Fragment of an Existing Array....157 Problem....157 Solution....157 Discussion....157 See Also....160 7.8 Converting Between Arrays and Strings....160 Problem....160 Solution....160 Discussion....160 See Also....162 7.9 Reversing an Array....163 Problem....163 Solution....163 Discussion....163 See Also....164 7.10 Sorting an Array....164 Problem....164 Solution....164 Discussion....164 See Also....166 7.11 Sorting an Array Based on a Function....167 Problem....167 Solution....167 Discussion....167 See Also....169 7.12 Randomizing the Elements in an Array....169 Problem....169 Solution....169 Discussion....169 See Also....169 7.13 Applying a Function to Every Element of an Array....170 Problem....170 Solution....170 Discussion....170 See Also....173 7.14 Reducing an Array to a Single Value....173 Problem....173 Solution....173 Discussion....173 See Also....174 7.15 Iterating over Infinite or Very Large/Expensive Arrays....174 Problem....174 Solution....175 Discussion....175 See Also....176 Chapter 8. Classes and Objects....178 8.1 Instantiating Objects from Custom Classes....185 Problem....185 Solution....185 Discussion....186 See Also....187 8.2 Constructing Objects to Define Defaults....187 Problem....187 Solution....187 Discussion....188 See Also....189 8.3 Defining Read-Only Properties in a Class....189 Problem....189 Solution....189 Discussion....189 See Also....191 8.4 Deconstructing Objects to Clean Up After the Object Is No Longer Needed....192 Problem....192 Solution....192 Discussion....192 See Also....194 8.5 Using Magic Methods to Provide Dynamic Properties....194 Problem....194 Solution....194 Discussion....195 See Also....196 8.6 Extending Classes to Define Additional Functionality....196 Problem....196 Solution....196 Discussion....197 See Also....198 8.7 Forcing Classes to Exhibit Specific Behavior....198 Problem....198 Solution....199 Discussion....199 See Also....202 8.8 Creating Abstract Base Classes....203 Problem....203 Solution....203 Discussion....203 See Also....205 8.9 Preventing Changes to Classes and Methods....205 Problem....205 Solution....205 Discussion....205 See Also....209 8.10 Cloning Objects....209 Problem....209 Solution....209 Discussion....210 See Also....213 8.11 Defining Static Properties and Methods....213 Problem....213 Solution....213 Discussion....214 See Also....216 8.12 Introspecting Private Properties or Methods Within an Object....216 Problem....216 Solution....216 Discussion....216 See Also....218 8.13 Reusing Arbitrary Code Between Classes....218 Problem....218 Solution....218 Discussion....219 See Also....221 Chapter 9. Security and Encryption....222 9.1 Filtering, Validating, and Sanitizing User Input....229 Problem....229 Solution....229 Discussion....229 See Also....233 9.2 Keeping Sensitive Credentials Out of Application Code....233 Problem....233 Solution....233 Discussion....234 See Also....235 9.3 Hashing and Validating Passwords....235 Problem....235 Solution....235 Discussion....236 See Also....238 9.4 Encrypting and Decrypting Data....238 Problem....238 Solution....238 Discussion....240 See Also....244 9.5 Storing Encrypted Data in a File....244 Problem....244 Solution....244 Discussion....247 See Also....248 9.6 Cryptographically Signing a Message to Be Sent to Another Application....248 Problem....248 Solution....248 Discussion....249 See Also....250 9.7 Verifying a Cryptographic Signature....250 Problem....250 Solution....250 Discussion....251 See Also....251 Chapter 10. File Handling....252 10.1 Creating or Opening a Local File....253 Problem....253 Solution....253 Discussion....253 See Also....255 10.2 Reading a File into a String....255 Problem....255 Solution....255 Discussion....255 See Also....256 10.3 Reading a Specific Slice of a File....256 Problem....256 Solution....256 Discussion....257 See Also....257 10.4 Modifying a File in Place....258 Problem....258 Solution....258 Discussion....258 See Also....258 10.5 Writing to Many Files Simultaneously....259 Problem....259 Solution....259 Discussion....259 See Also....261 10.6 Locking a File to Prevent Access or Modification by Another Process....261 Problem....261 Solution....261 Discussion....261 See Also....262 Chapter 11. Streams....264 11.1 Streaming Data to/from a Temporary File....268 Problem....268 Solution....268 Discussion....269 See Also....270 11.2 Reading from the PHP Input Stream....270 Problem....270 Solution....270 Discussion....271 See Also....273 11.3 Writing to the PHP Output Stream....273 Problem....273 Solution....273 Discussion....274 See Also....275 11.4 Reading from One Stream and Writing to Another....275 Problem....275 Solution....275 Discussion....276 See Also....277 11.5 Composing Different Stream Handlers Together....277 Problem....277 Solution....278 Discussion....278 See Also....281 11.6 Writing a Custom Stream Wrapper....281 Problem....281 Solution....281 Discussion....282 See Also....284 Chapter 12. Error Handling....286 12.1 Finding and Fixing Parse Errors....286 Problem....286 Solution....286 Discussion....287 See Also....288 12.2 Creating and Handling Custom Exceptions....288 Problem....288 Solution....288 Discussion....288 See Also....290 12.3 Hiding Error Messages from End Users....290 Problem....290 Solution....290 Discussion....291 See Also....293 12.4 Using a Custom Error Handler....293 Problem....293 Solution....293 Discussion....293 See Also....294 12.5 Logging Errors to an External Stream....294 Problem....294 Solution....294 Discussion....295 See Also....295 Chapter 13. Debugging and Testing....296 13.1 Using a Debugger Extension....298 Problem....298 Solution....298 Discussion....298 See Also....300 13.2 Writing a Unit Test....300 Problem....300 Solution....300 Discussion....301 See Also....305 13.3 Automating Unit Tests....305 Problem....305 Solution....305 Discussion....306 See Also....307 13.4 Using Static Code Analysis....308 Problem....308 Solution....308 Discussion....308 See Also....309 13.5 Logging Debugging Information....309 Problem....309 Solution....309 Discussion....310 See Also....313 13.6 Dumping Variable Contents as Strings....313 Problem....313 Solution....313 Discussion....314 See Also....316 13.7 Using the Built-in Web Server to Quickly Run an Application....316 Problem....316 Solution....317 Discussion....317 See Also....318 13.8 Using Unit Tests to Detect Regressions in a Version-Controlled Project with git-bisect....318 Problem....318 Solution....318 Discussion....319 See Also....322 Chapter 14. Performance Tuning....324 14.1 Timing Function Execution....327 Problem....327 Solution....327 Discussion....327 See Also....331 14.2 Benchmarking the Performance of an Application....331 Problem....331 Solution....331 Discussion....333 See Also....337 14.3 Accelerating an Application with an Opcode Cache....337 Problem....337 Solution....338 Discussion....338 See Also....340 Chapter 15. Packages and Extensions....342 15.1 Defining a Composer Project....344 Problem....344 Solution....344 Discussion....345 See Also....347 15.2 Finding Composer Packages....347 Problem....347 Solution....347 Discussion....347 See Also....349 15.3 Installing and Updating Composer Packages....349 Problem....349 Solution....349 Discussion....349 See Also....352 15.4 Installing Native PHP Extensions....352 Problem....352 Solution....352 Discussion....353 See Also....354 Chapter 16. Databases....356 16.1 Relational Databases....356 16.2 Key-Value Stores....357 16.3 Graph Databases....358 16.4 Document Databases....359 16.5 Connecting to an SQLite Database....359 Problem....359 Solution....359 Discussion....360 See Also....361 16.6 Using PDO to Connect to an External Database Provider....361 Problem....361 Solution....361 Discussion....363 See Also....366 16.7 Sanitizing User Input for a Database Query....366 Problem....366 Solution....366 Discussion....366 See Also....368 16.8 Mocking Data for Integration Testing with a Database....368 Problem....368 Solution....369 Discussion....370 See Also....373 16.9 Querying an SQL Database with the Eloquent ORM....373 Problem....373 Solution....373 Discussion....374 See Also....376 Chapter 17. Asynchronous PHP....378 17.1 Fetching Data from Remote APIs Asynchronously....384 Problem....384 Solution....384 Discussion....384 See Also....386 17.2 Waiting on the Results of Multiple Asynchronous Operations....386 Problem....386 Solution....386 Discussion....387 See Also....388 17.3 Interrupting One Operation to Run Another....388 Problem....388 Solution....388 Discussion....389 See Also....391 17.4 Running Code in a Separate Thread....391 Problem....391 Solution....391 Discussion....393 See Also....396 17.5 Sending and Receiving Messages Between Separate Threads....396 Problem....396 Solution....396 Discussion....399 See Also....400 17.6 Using a Fiber to Manage the Contents from a Stream....400 Problem....400 Solution....400 Discussion....402 See Also....404 Chapter 18. PHP Command Line....406 18.1 Parsing Program Arguments....407 Problem....407 Solution....407 Discussion....407 See Also....410 18.2 Reading Interactive User Input....410 Problem....410 Solution....410 Discussion....411 See Also....412 18.3 Colorizing Console Output....412 Problem....412 Solution....412 Discussion....412 See Also....413 18.4 Creating a Command-Line Application with Symfony Console....413 Problem....413 Solution....413 Discussion....414 See Also....416 18.5 Using PHP’s Native Read-Eval-Print-Loop....417 Problem....417 Solution....417 Discussion....417 See Also....419 Index....420 About the Author....432

Описание

Ниже — практический обзор по теме «problems».

PHP is a remarkably easy language to work with, which explains why it powers more than 75% of the websites online today. If you're a PHP developer looking for proven solutions to common problems, this cookbook provides code recipes to help you resolve a variety of coding issues. It's also incredibly forgiving of programming mistakes, which can perpetuate reuse of questionable code.

You'll also find established patterns and examples that any developer can follow for addressing common problems with PHP. By leveraging modern versions of PHP through version 8.2, author Eric Mann provides self-contained recipes that will enable you to solve the problems you face in your day-to-day work. With these recipes, you'll quickly identify and resolve complicated issues without having to reinvent the wheel.

This practical guide will help you:Build efficient applications composed of functions and objectsExplore the type system of modern PHPUnderstand key concepts such as encryption, error handling, debugging, and performance tuningExamine the PHP package/extension ecosystemLearn how to build basic web and command-line applicationsWork securely with files on a machine, both encrypted and in plain text

На этом основные моменты по теме закрыты.

modern code problems recipes cookbook solutions developer common

Частые вопросы

Можно ли скачать «PHP Cookbook: Modern Code Solutions for Professional Developers» бесплатно?

Да, «PHP Cookbook: Modern Code Solutions for Professional Developers» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 2,1 МБ.

Кто автор и когда вышла книга?

автор — Mann Eric A., издательство O’Reilly Media, Inc., год выпуска 2023, 434 страниц.

О чём книга «PHP Cookbook: Modern Code Solutions for Professional Developers»?

If you're a PHP developer looking for proven solutions to common problems, this cookbook provides code recipes to help you resolve a variety of coding issues.

Похожие материалы