PHP Notes for Professionals book
معرفی کتاب «PHP Notes for Professionals book» نوشتهٔ PHP Notes For Professionals، منتشرشده توسط نشر goalkicker team [use goalkicker.com for more free books ] در سال 2018. این کتاب در 481 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «PHP Notes for Professionals book» در دستهٔ بدون دستهبندی قرار دارد.
What people are saying about Notes for Professionals books Thank you very much for this! Very useful Good stuff thanks This is really cool! Thanks a lot! Wow. This is awesome. Thank you! Binge downloaded plenty from your site - thanx a million!! Are you a novice, a little above novice, a pro or you want to start coding, then you need to check out these materials. The PHP Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified Book created for educational purposes and is not affiliated with PHP group(s), company(s) nor Stack Overflow. All trademarks belong to their respective company owners 481 pages, published on June 2018 Content list About Chapter 1: Getting started with PHP Section 1.1: HTML output from web server Section 1.2: Hello, World! Section 1.3: Non-HTML output from web server Section 1.4: PHP built-in server Section 1.5: PHP CLI Section 1.6: Instruction Separation Section 1.7: PHP Tags Chapter 2: Variables Section 2.1: Accessing A Variable Dynamically By Name (Variable variables) Section 2.2: Data Types Section 2.3: Global variable best practices Section 2.4: Default values of uninitialized variables Section 2.5: Variable Value Truthiness and Identical Operator Chapter 3: Variable Scope Section 3.1: Superglobal variables Section 3.2: Static properties and variables Section 3.3: User-defined global variables Chapter 4: Superglobal Variables PHP Section 4.1: Suberglobals explained Section 4.2: PHP5 SuperGlobals Chapter 5: Outputting the Value of a Variable Section 5.1: echo and print Section 5.2: Outputting a structured view of arrays and objects Section 5.3: String concatenation with echo Section 5.4: printf vs sprintf Section 5.5: Outputting large integers Section 5.6: Output a Multidimensional Array with index and value and print into the table Chapter 6: Constants Section 6.1: Defining constants Section 6.2: Class Constants Section 6.3: Checking if constant is defined Section 6.4: Using constants Section 6.5: Constant arrays Chapter 7: Magic Constants Section 7.1: Dierence between __FUNCTION__ and __METHOD__ Section 7.2: Dierence between __CLASS__, get_class() and get_called_class() Section 7.3: File & Directory Constants Chapter 8: Comments Section 8.1: Single Line Comments Section 8.2: Multi Line Comments Chapter 9: Types Section 9.1: Type Comparison Section 9.2: Boolean Section 9.3: Float Section 9.4: Strings Section 9.5: Callable Section 9.6: Resources Section 9.7: Type Casting Section 9.8: Type Juggling Section 9.9: Null Section 9.10: Integers Chapter 10: Operators Section 10.1: Null Coalescing Operator (??) Section 10.2: Spaceship Operator ( ) Section 10.3: Execution Operator (``) Section 10.4: Incrementing (++) and Decrementing Operators (--) Section 10.5: Ternary Operator (?:) Section 10.6: Logical Operators (&&/AND and ||/OR) Section 10.7: String Operators (. and .=) Section 10.8: Object and Class Operators Section 10.9: Combined Assignment (+= etc) Section 10.10: Altering operator precedence (with parentheses) Section 10.11: Basic Assignment (=) Section 10.12: Association Section 10.13: Comparison Operators Section 10.14: Bitwise Operators Section 10.15: instanceof (type operator) Chapter 11: References Section 11.1: Assign by Reference Section 11.2: Return by Reference Section 11.3: Pass by Reference Chapter 12: Arrays Section 12.1: Initializing an Array Section 12.2: Check if key exists Section 12.3: Validating the array type Section 12.4: Creating an array of variables Section 12.5: Checking if a value exists in array Section 12.6: ArrayAccess and Iterator Interfaces Chapter 13: Array iteration Section 13.1: Iterating multiple arrays together Section 13.2: Using an incremental index Section 13.3: Using internal array pointers Section 13.4: Using foreach Section 13.5: Using ArrayObject Iterator Chapter 14: Executing Upon an Array Section 14.1: Applying a function to each element of an array Section 14.2: Split array into chunks Section 14.3: Imploding an array into string Section 14.4: "Destructuring" arrays using list() Section 14.5: array_reduce Section 14.6: Push a Value on an Array Chapter 15: Manipulating an Array Section 15.1: Filtering an array Section 15.2: Removing elements from an array Section 15.3: Sorting an Array Section 15.4: Whitelist only some array keys Section 15.5: Adding element to start of array Section 15.6: Exchange values with keys Section 15.7: Merge two arrays into one array Chapter 16: Processing Multiple Arrays Together Section 16.1: Array intersection Section 16.2: Merge or concatenate arrays Section 16.3: Changing a multidimensional array to associative array Section 16.4: Combining two arrays (keys from one, values from another) Chapter 17: Datetime Class Section 17.1: Create Immutable version of DateTime from Mutable prior PHP 5.6 Section 17.2: Add or Subtract Date Intervals Section 17.3: getTimestamp Section 17.4: setDate Section 17.5: Create DateTime from custom format Section 17.6: Printing DateTimes Chapter 18: Working with Dates and Time Section 18.1: Getting the dierence between two dates / times Section 18.2: Convert a date into another format Section 18.3: Parse English date descriptions into a Date format Section 18.4: Using Predefined Constants for Date Format Chapter 19: Control Structures Section 19.1: if else Section 19.2: Alternative syntax for control structures Section 19.3: while Section 19.4: do-while Section 19.5: goto Section 19.6: declare Section 19.7: include & require Section 19.8: return Section 19.9: for Section 19.10: foreach Section 19.11: if elseif else Section 19.12: if Section 19.13: switch Chapter 20: Loops Section 20.1: continue Section 20.2: break Section 20.3: foreach Section 20.4: do...while Section 20.5: for Section 20.6: while Chapter 21: Functions Section 21.1: Variable-length argument lists Section 21.2: Optional Parameters Section 21.3: Passing Arguments by Reference Section 21.4: Basic Function Usage Section 21.5: Function Scope Chapter 22: Functional Programming Section 22.1: Closures Section 22.2: Assignment to variables Section 22.3: Objects as a function Section 22.4: Using outside variables Section 22.5: Anonymous function Section 22.6: Pure functions Section 22.7: Common functional methods in PHP Section 22.8: Using built-in functions as callbacks Section 22.9: Scope Section 22.10: Passing a callback function as a parameter Chapter 23: Alternative Syntax for Control Structures Section 23.1: Alternative if/else statement Section 23.2: Alternative for statement Section 23.3: Alternative while statement Section 23.4: Alternative foreach statement Section 23.5: Alternative switch statement Chapter 24: String formatting Section 24.1: String interpolation Section 24.2: Extracting/replacing substrings Chapter 25: String Parsing Section 25.1: Splitting a string by separators Section 25.2: Substring Section 25.3: Searching a substring with strpos Section 25.4: Parsing string using regular expressions Chapter 26: Classes and Objects Section 26.1: Class Constants Section 26.2: Abstract Classes Section 26.3: Late static binding Section 26.4: Namespacing and Autoloading Section 26.5: Method and Property Visibility Section 26.6: Interfaces Section 26.7: Final Keyword Section 26.8: Autoloading Section 26.9: Calling a parent constructor when instantiating a child Section 26.10: Dynamic Binding Section 26.11: $this, self and static plus the singleton Section 26.12: Defining a Basic Class Section 26.13: Anonymous Classes Chapter 27: Namespaces Section 27.1: Declaring namespaces Section 27.2: Referencing a class or function in a namespace Section 27.3: Declaring sub-namespaces Section 27.4: What are Namespaces? Chapter 28: Sessions Section 28.1: session_start() Options Section 28.2: Session Locking Section 28.3: Manipulating session data Section 28.4: Destroy an entire session Section 28.5: Safe Session Start With no Errors Section 28.6: Session name Chapter 29: Cookies Section 29.1: Modifying a Cookie Section 29.2: Setting a Cookie Section 29.3: Checking if a Cookie is Set Section 29.4: Removing a Cookie Section 29.5: Retrieving a Cookie Chapter 30: Output Buering Section 30.1: Basic usage getting content between buers and clearing Section 30.2: Processing the buer via a callback Section 30.3: Nested output buers Section 30.4: Running output buer before any content Section 30.5: Stream output to client Section 30.6: Using Output buer to store contents in a file, useful for reports, invoices etc Section 30.7: Typical usage and reasons for using ob_start Section 30.8: Capturing the output buer to re-use later Chapter 31: JSON Section 31.1: Decoding a JSON string Section 31.2: Encoding a JSON string Section 31.3: Debugging JSON errors Section 31.4: Using JsonSerializable in an Object Section 31.5: Header json and the returned response Chapter 32: SOAP Client Section 32.1: WSDL Mode Section 32.2: Non-WSDL Mode Section 32.3: Classmaps Section 32.4: Tracing SOAP request and response Chapter 33: Using cURL in PHP Section 33.1: Basic Usage (GET Requests) Section 33.2: POST Requests Section 33.3: Using Cookies Section 33.4: Using multi_curl to make multiple POST requests Section 33.5: Sending multi-dimensional data and multiple files with CurlFile in one request Section 33.6: Creating and sending a request with a custom method Section 33.7: Get and Set custom http headers in php Chapter 34: Reflection Section 34.1: Feature detection of classes or objects Section 34.2: Testing private/protected methods Section 34.3: Accessing private and protected member variables Chapter 35: Dependency Injection Section 35.1: Constructor Injection Section 35.2: Setter Injection Section 35.3: Container Injection Chapter 36: XML Section 36.1: Create a XML using DomDocument Section 36.2: Read a XML document with DOMDocument Section 36.3: Leveraging XML with PHP's SimpleXML Library Section 36.4: Create an XML file using XMLWriter Section 36.5: Read a XML document with SimpleXML Chapter 37: SimpleXML Section 37.1: Loading XML data into simplexml Chapter 38: Parsing HTML Section 38.1: Parsing HTML from a string Section 38.2: Using XPath Section 38.3: SimpleXML Chapter 39: Regular Expressions (regexp/PCRE) Section 39.1: Global RegExp match Section 39.2: String matching with regular expressions Section 39.3: Split string into array by a regular expression Section 39.4: String replacing with regular expression Section 39.5: String replace with callback Chapter 40: Traits Section 40.1: What is a Trait? Section 40.2: Traits to facilitate horizontal code reuse Section 40.3: Conflict Resolution Section 40.4: Implementing a Singleton using Traits Section 40.5: Traits to keep classes clean Section 40.6: Multiple Traits Usage Section 40.7: Changing Method Visibility Chapter 41: Composer Dependency Manager Section 41.1: What is Composer? Section 41.2: Autoloading with Composer Section 41.3: Dierence between 'composer install' and 'composer update' Section 41.4: Composer Available Commands Section 41.5: Benefits of Using Composer Section 41.6: Installation Chapter 42: Magic Methods Section 42.1: __call() and __callStatic() Section 42.2: __get(), __set(), __isset() and __unset() Section 42.3: __construct() and __destruct() Section 42.4: __toString() Section 42.5: __clone() Section 42.6: __invoke() Section 42.7: __sleep() and __wakeup() Section 42.8: __debugInfo() Chapter 43: File handling Section 43.1: Convenience functions Section 43.2: Deleting files and directories Section 43.3: Getting file information Section 43.4: Stream-based file IO Section 43.5: Moving and Copying files and directories Section 43.6: Minimize memory usage when dealing with large files Chapter 44: Streams Section 44.1: Registering a stream wrapper Chapter 45: Type hinting Section 45.1: Type hinting classes and interfaces Section 45.2: Type hinting scalar types, arrays and callables Section 45.3: Nullable type hints Section 45.4: Type hinting generic objects Section 45.5: Type Hinting No Return(Void) Chapter 46: Filters & Filter Functions Section 46.1: Validating Boolean Values Section 46.2: Validating A Number Is A Float Section 46.3: Validate A MAC Address Section 46.4: Sanitze Email Addresses Section 46.5: Sanitize Integers Section 46.6: Sanitize URLs Section 46.7: Validate Email Address Section 46.8: Validating A Value Is An Integer Section 46.9: Validating An Integer Falls In A Range Section 46.10: Validate a URL Section 46.11: Sanitize Floats Section 46.12: Validate IP Addresses Section 46.13: Sanitize filters Chapter 47: Generators Section 47.1: The Yield Keyword Section 47.2: Reading a large file with a generator Section 47.3: Why use a generator? Section 47.4: Using the send()-function to pass values to a generator Chapter 48: UTF-8 Section 48.1: Input Section 48.2: Output Section 48.3: Data Storage and Access Chapter 49: Unicode Support in PHP Section 49.1: Converting Unicode characters to “\uxxxx” format using PHP Section 49.2: Converting Unicode characters to their numeric value and/or HTML entities using PHP Section 49.3: Intl extention for Unicode support Chapter 50: URLs Section 50.1: Parsing a URL Section 50.2: Build an URL-encoded query string from an array Section 50.3: Redirecting to another URL Chapter 51: How to break down an URL Section 51.1: Using parse_url() Section 51.2: Using explode() Section 51.3: Using basename() Chapter 52: Object Serialization Section 52.1: Serialize / Unserialize Section 52.2: The Serializable interface Chapter 53: Serialization Section 53.1: Serialization of dierent types Section 53.2: Security Issues with unserialize Chapter 54: Closure Section 54.1: Basic usage of a closure Section 54.2: Using external variables Section 54.3: Basic closure binding Section 54.4: Closure binding and scope Section 54.5: Binding a closure for one call Section 54.6: Use closures to implement observer pattern Chapter 55: Reading Request Data Section 55.1: Reading raw POST data Section 55.2: Reading POST data Section 55.3: Reading GET data Section 55.4: Handling file upload errors Section 55.5: Passing arrays by POST Section 55.6: Uploading files with HTTP PUT Chapter 56: Type juggling and Non-Strict Comparison Issues Section 56.1: What is Type Juggling? Section 56.2: Reading from a file Section 56.3: Switch surprises Section 56.4: Strict typing Chapter 57: Sockets Section 57.1: TCP client socket Section 57.2: TCP server socket Section 57.3: UDP server socket Section 57.4: Handling socket errors Chapter 58: PDO Section 58.1: Preventing SQL injection with Parameterized Queries Section 58.2: Basic PDO Connection and Retrieval Section 58.3: Database Transactions with PDO Section 58.4: PDO: connecting to MySQL/MariaDB server Section 58.5: PDO: Get number of aected rows by a query Section 58.6: PDO::lastInsertId() Chapter 59: PHP MySQLi Section 59.1: Close connection Section 59.2: MySQLi connect Section 59.3: Loop through MySQLi results Section 59.4: Prepared statements in MySQLi Section 59.5: Escaping Strings Section 59.6: Debugging SQL in MySQLi Section 59.7: MySQLi query Section 59.8: How to get data from a prepared statement Section 59.9: MySQLi Insert ID Chapter 60: SQLite3 Section 60.1: SQLite3 Quickstart Tutorial Section 60.2: Querying a database Section 60.3: Retrieving only one result Chapter 61: Using MongoDB Section 61.1: Connect to MongoDB Section 61.2: Get multiple documents - find() Section 61.3: Get one document - findOne() Section 61.4: Insert document Section 61.5: Update a document Section 61.6: Delete a document Chapter 62: mongo-php Section 62.1: Everything in between MongoDB and Php Chapter 63: Using Redis with PHP Section 63.1: Connecting to a Redis instance Section 63.2: Installing PHP Redis on Ubuntu Section 63.3: Executing Redis commands in PHP Chapter 64: Sending Email Section 64.1: Sending Email - The basics, more details, and a full example Section 64.2: Sending HTML Email Using mail() Section 64.3: Sending Email With An Attachment Using mail() Section 64.4: Sending Plain Text Email Using PHPMailer Section 64.5: Sending HTML Email Using PHPMailer Section 64.6: Sending Email With An Attachment Using PHPMailer Section 64.7: Sending Plain Text Email Using Sendgrid Section 64.8: Sending Email With An Attachment Using Sendgrid Chapter 65: Using SQLSRV Section 65.1: Retrieving Error Messages Section 65.2: Fetching Query Results Section 65.3: Creating a Connection Section 65.4: Making a Simple Query Section 65.5: Invoking a Stored Procedure Section 65.6: Making a Parameterised Query Chapter 66: Command Line Interface (CLI) Section 66.1: Handling Program Options Section 66.2: Argument Handling Section 66.3: Input and Output Handling Section 66.4: Return Codes Section 66.5: Restrict script execution to command line Section 66.6: Behavioural dierences on the command line Section 66.7: Running your script Section 66.8: Edge Cases of getopt() Section 66.9: Running built-in web server Chapter 67: Localization Section 67.1: Localizing strings with gettext() Chapter 68: Headers Manipulation Section 68.1: Basic Setting of a Header Chapter 69: Coding Conventions Section 69.1: PHP Tags Chapter 70: Asynchronous programming Section 70.1: Advantages of Generators Section 70.2: Using Icicle event loop Section 70.3: Spawning non-blocking processes with proc_open() Section 70.4: Reading serial port with Event and DIO Section 70.5: HTTP Client Based on Event Extension Section 70.6: HTTP Client Based on Ev Extension Section 70.7: Using Amp event loop Chapter 71: How to Detect Client IP Address Section 71.1: Proper use of HTTP_X_FORWARDED_FOR Chapter 72: Create PDF files in PHP Section 72.1: Getting Started with PDFlib Chapter 73: YAML in PHP Section 73.1: Installing YAML extension Section 73.2: Using YAML to store application configuration Chapter 74: Image Processing with GD Section 74.1: Image output Section 74.2: Creating an image Section 74.3: Image Cropping and Resizing Chapter 75: Imagick Section 75.1: First Steps Section 75.2: Convert Image into base64 String Chapter 76: SOAP Server Section 76.1: Basic SOAP Server Chapter 77: Machine learning Section 77.1: Classification using PHP-ML Section 77.2: Regression Section 77.3: Clustering Chapter 78: Cache Section 78.1: Caching using memcache Section 78.2: Cache Using APC Cache Chapter 79: Autoloading Primer Section 79.1: Autoloading as part of a framework solution Section 79.2: Inline class definition, no loading required Section 79.3: Manual class loading with require Section 79.4: Autoloading replaces manual class definition loading Section 79.5: Autoloading with Composer Chapter 80: SPL data structures Section 80.1: SplFixedArray Chapter 81: IMAP Section 81.1: Connecting to a mailbox Section 81.2: Install IMAP extension Section 81.3: List all folders in the mailbox Section 81.4: Finding messages in the mailbox Chapter 82: HTTP Authentication Section 82.1: Simple authenticate Chapter 83: WebSockets Section 83.1: Simple TCP/IP server Chapter 84: BC Math (Binary Calculator) Section 84.1: Using bcmath to read/write a binary long on 32-bit system Section 84.2: Comparison between BCMath and float arithmetic operations Chapter 85: Docker deployment Section 85.1: Get docker image for php Section 85.2: Writing dockerfile Section 85.3: Building image Section 85.4: Starting application container Chapter 86: APCu Section 86.1: Iterating over Entries Section 86.2: Simple storage and retrieval Section 86.3: Store information Chapter 87: PHP Built in server Section 87.1: Running the built in server Section 87.2: built in server with specific directory and router script Chapter 88: PSR Section 88.1: PSR-4: Autoloader Section 88.2: PSR-1: Basic Coding Standard Chapter 89: PHPDoc Section 89.1: Describing a variable Section 89.2: Adding metadata to functions Section 89.3: Describing parameters Section 89.4: Collections Section 89.5: Adding metadata to files Section 89.6: Inheriting metadata from parent structures Chapter 90: Design Patterns Section 90.1: Method Chaining in PHP Chapter 91: Compile PHP Extensions Section 91.1: Compiling on Linux Chapter 92: Common Errors Section 92.1: Call fetch_assoc on boolean Section 92.2: Unexpected $end Chapter 93: Compilation of Errors and Warnings Section 93.1: Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM Section 93.2: Notice: Undefined index Section 93.3: Warning: Cannot modify header information - headers already sent Chapter 94: Exception Handling and Error Reporting Section 94.1: Setting error reporting and where to display them Section 94.2: Logging fatal errors Chapter 95: Debugging Section 95.1: Dumping variables Section 95.2: Displaying errors Section 95.3: phpinfo() Section 95.4: Xdebug Section 95.5: Error Reporting (use them both) Section 95.6: phpversion() Chapter 96: Unit Testing Section 96.1: Testing class rules Section 96.2: PHPUnit Data Providers Section 96.3: Test exceptions Chapter 97: Performance Section 97.1: Profiling with Xdebug Section 97.2: Memory Usage Section 97.3: Profiling with XHProf Chapter 98: Multiprocessing Section 98.1: Multiprocessing using built-in fork functions Section 98.2: Creating child process using fork Section 98.3: Inter-Process Communication Chapter 99: Multi Threading Extension Section 99.1: Getting Started Section 99.2: Using Pools and Workers Chapter 100: Secure Remeber Me Section 100.1: “Keep Me Logged In” - the best approach Chapter 101: Security Section 101.1: PHP Version Leakage Section 101.2: Cross-Site Scripting (XSS) Section 101.3: Cross-Site Request Forgery Section 101.4: Command Line Injection Section 101.5: Stripping Tags Section 101.6: File Inclusion Section 101.7: Error Reporting Section 101.8: Uploading files Chapter 102: Cryptography Section 102.1: Symmetric Encryption and Decryption of large Files with OpenSSL Section 102.2: Symmetric Cipher Chapter 103: Password Hashing Functions Section 103.1: Creating a password hash Section 103.2: Determine if an existing password hash can be upgraded to a stronger algorithm Section 103.3: Verifying a password against a hash Chapter 104: Contributing to the PHP Manual Section 104.1: Improve the ocial documentation Section 104.2: Tips for contributing to the manual Chapter 105: Contributing to the PHP Core Section 105.1: Setting up a basic development environment Appendix A: Installing a PHP environment on Windows Section A.1: Download, Install and use WAMP Section A.2: Install PHP and use it with IIS Section A.3: Download and Install XAMPP Appendix B: Installing on Linux/Unix Environments Section B.1: Command Line Install Using APT for PHP 7 Section B.2: Installing in Enterprise Linux distributions (CentOS, Scientific Linux, etc) Credits You may also like
دانلود کتاب PHP Notes for Professionals book