PHP The Right Way
follow
/
Share on Twitter
follow
https://twitter.com/intent/tweet?text=PHP+The+Right+Way&url=https%3A%2F%2Fwww.phptherightway.com&hashtags=PHP
follow
https://github.com/codeguy/php-the-right-way
Translations
follow
/#translations
How to Contribute
follow
/#how-to-contribute
Getting Started
follow
/#getting_started
Use the Current Stable Version (8.0)
follow
/#use_the_current_stable_version
Built-in Web Server
follow
/#builtin_web_server
Mac Setup
follow
/#mac_setup
Windows Setup
follow
/#windows_setup
Common Directory Structure
follow
/#common_directory_structure
Code Style Guide
follow
/#code_style_guide
Language Highlights
follow
/#language_highlights
Programming Paradigms
follow
/#programming_paradigms
Namespaces
follow
/#namespaces
Standard PHP Library
follow
/#standard_php_library
Command Line Interface
follow
/#command_line_interface
Dependency Management
follow
/#dependency_management
Composer and Packagist
follow
/#composer_and_packagist
Coding Practices
follow
/#coding_practices
The Basics
follow
/#the_basics
Date and Time
follow
/#date_and_time
Design Patterns
follow
/#design_patterns
Working with UTF-8
follow
/#php_and_utf8
Internationalization and Localization
follow
/#i18n_l10n
Dependency Injection
follow
/#dependency_injection
Basic Concept
follow
/#basic_concept
Complex Problem
follow
/#complex_problem
Containers
follow
/#containers
Further Reading
follow
/#further_reading
Databases
follow
/#databases
MySQL Extension
follow
/#mysql_extension
PDO Extension
follow
/#pdo_extension
Interacting with Databases
follow
/#databases_interacting
Abstraction Layers
follow
/#databases_abstraction_layers
Templating
follow
/#templating
Benefits
follow
/#templating_benefits
Plain PHP Templates
follow
/#plain_php_templates
Compiled Templates
follow
/#compiled_templates
Further Reading
follow
/#templating_further_reading
Errors and Exceptions
follow
/#errors_and_exceptions
Exceptions
follow
/#exceptions
Security
follow
/#security
Web Application Security
follow
/#web_application_security
Password Hashing
follow
/#password_hashing
Data Filtering
follow
/#data_filtering
Configuration Files
follow
/#configuration_files
Register Globals
follow
/#register_globals
Error Reporting
follow
/#error_reporting
Test Driven Development
follow
/#test_driven_development
Behavior Driven Development
follow
/#behavior_driven_development
Complementary Testing Tools
follow
/#complementary_testing_tools
Servers and Deployment
follow
/#servers_and_deployment
Platform as a Service (PaaS)
follow
/#platform_as_a_service
Virtual or Dedicated Servers
follow
/#virtual_or_dedicated_servers
Shared Servers
follow
/#shared_servers
Building Your Application
follow
/#building_and_deploying_your_application
Virtualization
follow
/#virtualization
Opcode Cache
follow
/#opcode_cache
Object Caching
follow
/#object_caching
Documenting your Code
follow
/#documenting
Resources
follow
/#resources
From the Source
follow
/#from_the_source
People to Follow
follow
/#people_to_follow
PHP PaaS Providers
follow
/#php_paas_providers
Frameworks
follow
/#frameworks
Components
follow
/#components
Other Useful Resources
follow
/#other_resources
Video Tutorials
follow
/#videos
Community
follow
/#community
User Groups
follow
/#user_groups
Conferences
follow
/#conferences
Elephpants
follow
/#elephpants
English
follow
http://www.phptherightway.com
Español
follow
http://phpdevenezuela.github.io/php-the-right-way
Français
follow
http://eilgin.github.io/php-the-right-way/
Indonesia
follow
http://id.phptherightway.com
Italiano
follow
http://it.phptherightway.com
Polski
follow
http://pl.phptherightway.com
Português do Brasil
follow
http://br.phptherightway.com
Română
follow
https://bgui.github.io/php-the-right-way/
Slovenščina
follow
http://sl.phptherightway.com
Srpski
follow
http://phpsrbija.github.io/php-the-right-way/
Türkçe
follow
http://hkulekci.github.io/php-the-right-way/
български
follow
http://bg.phptherightway.com
Русский язык
follow
http://getjump.github.io/ru-php-the-right-way
Українська
follow
http://iflista.github.io/php-the-right-way/
العربية
follow
https://adaroobi.github.io/php-the-right-way/
فارسى
follow
http://novid.github.io/php-the-right-way/
ภาษาไทย
follow
https://apzentral.github.io/php-the-right-way/
한국어판
follow
http://modernpug.github.io/php-the-right-way
日本語
follow
http://ja.phptherightway.com
简体中文
follow
https://laravel-china.github.io/php-the-right-way/
繁體中文
follow
https://laravel-taiwan.github.io/php-the-right-way
Go to Leanpub
follow
https://leanpub.com/phptherightway
Contribute on GitHub
follow
https://github.com/codeguy/php-the-right-way/tree/gh-pages
PHP 8.0
follow
http://php.net/downloads.php
new features
follow
#language_highlights
is already End of Life
follow
http://php.net/supported-versions.php
backwards compatibility breaks
follow
http://php.net/manual/migration80.incompatible.php
php.net
follow
http://php.net/manual/
Learn about the built-in, command line web server
follow
http://php.net/features.commandline.webserver
Homebrew
follow
https://brew.sh/
brew-php-switcher
follow
https://github.com/philcook/brew-php-switcher
MacPorts
follow
https://www.macports.org/install.php
phpbrew
follow
https://github.com/phpbrew/phpbrew
php-osx.liip.ch
follow
https://php-osx.liip.ch/
compile it yourself
follow
https://secure.php.net/install.macosx.compile
Xcode
follow
https://github.com/kennethreitz/osx-gcc-installer
“Command Line Tools for XCode”
follow
https://developer.apple.com/downloads
Apache
follow
https://httpd.apache.org/
Nginx
follow
https://www.nginx.com/
MAMP
follow
https://www.mamp.info/en/downloads/
XAMPP
follow
https://www.apachefriends.org/index.html
windows.php.net/download
follow
http://windows.php.net/download/
PATH
follow
http://www.windows-commandline.com/set-path-command-line/
Web Platform Installer
follow
https://www.microsoft.com/web/downloads/platform.aspx
XAMPP
follow
http://www.apachefriends.org/en/xampp.html
EasyPHP
follow
http://www.easyphp.org/
OpenServer
follow
http://open-server.ru/
WAMP
follow
http://www.wampserver.com/en/
phpmanager
follow
http://phpmanager.codeplex.com/
dedicated area on iis.net
follow
http://php.iis.net/
Virtual Machine
follow
/#virtualization_title
PHP development using Windows
follow
http://ctankersley.com/2016/11/13/developing-on-windows-2016/
Paul M. Jones
follow
http://paul-m-jones.com/
Standard PHP Package Skeleton
follow
https://github.com/php-pds/skeleton
composer
follow
/#composer_and_packagist
Standard PHP Package Skeleton
follow
https://github.com/php-pds/skeleton
Framework Interop Group
follow
https://www.php-fig.org/
PSR-1
follow
https://www.php-fig.org/psr/psr-1/
PSR-12
follow
https://www.php-fig.org/psr/psr-12/
PSR-4
follow
https://www.php-fig.org/psr/psr-4/
Read about PSR-1
follow
https://www.php-fig.org/psr/psr-1/
Read about PSR-12
follow
https://www.php-fig.org/psr/psr-12/
Read about PSR-4
follow
https://www.php-fig.org/psr/psr-4/
Read about PEAR Coding Standards
follow
https://pear.php.net/manual/en/standards.php
Read about Symfony Coding Standards
follow
https://symfony.com/doc/current/contributing/code/standards.html
PHP_CodeSniffer
follow
https://pear.php.net/package/PHP_CodeSniffer/
Sublime Text
follow
https://github.com/benmatselby/sublime-phpcs
PHP Coding Standards Fixer
follow
https://cs.symfony.com/
PHP Code Beautifier and Fixer
follow
https://github.com/squizlabs/PHP_CodeSniffer/wiki/Fixing-Errors-Automatically
PHP Code Beautifier and Fixer
follow
https://github.com/squizlabs/PHP_CodeSniffer/wiki/Fixing-Errors-Automatically
PHP Coding Standards Fixer
follow
https://cs.symfony.com/
Clean Code PHP
follow
https://github.com/jupeter/clean-code-php
Read about Object-oriented PHP
follow
https://secure.php.net/language.oop5
Read about Traits
follow
https://secure.php.net/language.oop5.traits
Functional Programming in PHP
follow
/pages/Functional-Programming.html
Read about Anonymous Functions
follow
https://secure.php.net/functions.anonymous
Read about the Closure class
follow
https://secure.php.net/class.closure
More details in the Closures RFC
follow
https://wiki.php.net/rfc/closures
Read about Callables
follow
https://secure.php.net/language.types.callable
Read about dynamically invoking functions with call_user_func_array()
follow
https://secure.php.net/function.call-user-func-array
Read about Magic Methods
follow
https://secure.php.net/language.oop5.magic
Read about Reflection
follow
https://secure.php.net/intro.reflection
Read about Overloading
follow
https://secure.php.net/language.oop5.overloading
PSR-4
follow
https://www.php-fig.org/psr/psr-4/
PSR-0
follow
https://www.php-fig.org/psr/psr-0/
Read about Namespaces
follow
https://secure.php.net/language.namespaces
Read about PSR-0
follow
https://www.php-fig.org/psr/psr-0/
Read about PSR-4
follow
https://www.php-fig.org/psr/psr-4/
Read about the SPL
follow
https://secure.php.net/book.spl
SPL video course on Lynda.com(Paid)
follow
https://www.lynda.com/PHP-tutorials/Up-Running-Standard-PHP-Library/175038-2.html
phpinfo()
follow
https://secure.php.net/function.phpinfo
command line options
follow
https://secure.php.net/features.commandline.options
$argc
follow
https://secure.php.net/reserved.variables.argc
$argv
follow
https://secure.php.net/reserved.variables.argv
here
follow
https://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits
Learn about running PHP from the command line
follow
https://secure.php.net/features.commandline.options
Installing Xdebug
follow
https://xdebug.org/docs/install
Learn more about Xdebug
follow
https://xdebug.org/docs/
Learn more about MacGDBp
follow
https://www.bluestatic.org/software/macgdbp/
Composer
follow
/#composer_and_packagist
Packagist
follow
https://packagist.org/
following the official instructions
follow
https://getcomposer.org/download/
ComposerSetup
follow
https://getcomposer.org/Composer-Setup.exe
Twig
follow
https://twig.symfony.com/
libraries.io
follow
https://libraries.io/
Local PHP Security Checker
follow
https://github.com/fabpot/local-php-security-checker
Learn about Composer
follow
https://getcomposer.org/doc/00-intro.md
PEAR
follow
https://pear.php.net/
install instructions
follow
https://pear.php.net/manual/installation.getting.php
PEAR packages list
follow
https://pear.php.net/packages.php
Using channel docs
follow
https://pear.php.net/manual/guide.users.commandline.channels.php
Learn about PEAR
follow
https://pear.php.net/
Composer
follow
/#composer_and_packagist
Learn more about using PEAR with Composer
follow
https://getcomposer.org/doc/05-repositories.md#pear
The Basics
follow
/pages/The-Basics.html
Carbon
follow
https://carbon.nesbot.com/
Read about DateTime
follow
https://secure.php.net/book.datetime
Read about date formatting
follow
https://secure.php.net/function.date
https://designpatternsphp.readthedocs.io/
follow
https://designpatternsphp.readthedocs.io/
Alex Cabal
follow
https://alexcabal.com/
PHP Best Practices
follow
https://phpbestpractices.org/#utf-8
Multibyte String Extension
follow
https://secure.php.net/book.mbstring
patchwork/utf8
follow
https://packagist.org/packages/patchwork/utf8
charset tag
follow
http://htmlpurifier.org/docs/enduser-utf8.html
PHP Manual: String Operations
follow
https://secure.php.net/language.operators.string
PHP Manual: String Functions
follow
https://secure.php.net/ref.strings
strpos()
follow
https://secure.php.net/function.strpos
strlen()
follow
https://secure.php.net/function.strlen
substr()
follow
https://secure.php.net/function.substr
PHP Manual: Multibyte String Functions
follow
https://secure.php.net/ref.mbstring
mb_strpos()
follow
https://secure.php.net/function.mb-strpos
mb_strlen()
follow
https://secure.php.net/function.mb-strlen
mb_substr()
follow
https://secure.php.net/function.mb-substr
mb_internal_encoding()
follow
https://secure.php.net/function.mb-internal-encoding
mb_http_output()
follow
https://secure.php.net/function.mb-http-output
htmlentities()
follow
https://secure.php.net/function.htmlentities
htmlspecialchars()
follow
https://secure.php.net/function.htmlspecialchars
Stack Overflow: What factors make PHP Unicode-incompatible?
follow
https://stackoverflow.com/questions/571694/what-factors-make-php-unicode-incompatible
Stack Overflow: Best practices in PHP and MySQL with international strings
follow
https://stackoverflow.com/questions/140728/best-practices-in-php-and-mysql-with-international-strings
How to support full Unicode in MySQL databases
follow
https://mathiasbynens.be/notes/mysql-utf8mb4
Bringing Unicode to PHP with Portable UTF-8
follow
https://www.sitepoint.com/bringing-unicode-to-php-with-portable-utf8/
Stack Overflow: DOMDocument loadHTML does not encode UTF-8 correctly
follow
https://stackoverflow.com/questions/8218230/php-domdocument-loadhtml-not-encoding-utf-8-correctly
Unix tool called gettext
follow
https://en.wikipedia.org/wiki/Gettext
aura/intl
follow
https://github.com/auraphp/Aura.Intl
oscarotero/Gettext
follow
https://github.com/oscarotero/Gettext
symfony/translation
follow
https://symfony.com/doc/current/components/translation.html
zend/i18n
follow
https://docs.zendframework.com/zend-i18n/translation
Laravel
follow
https://laravel.com/docs/master/localization
Yii
follow
https://www.yiiframework.com/doc/guide/2.0/en/tutorial-i18n
Intl
follow
https://secure.php.net/manual/intro.intl.php
ICU project
follow
http://www.icu-project.org
Poedit
follow
https://poedit.net
downloaded for free on their website
follow
https://poedit.net/download
Symfony
follow
https://symfony.com/doc/current/components/translation.html
ISO 639-1
follow
https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
ISO 3166-1 alpha-2
follow
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
rare languages
follow
https://www.gnu.org/software/gettext/manual/gettext.html#Rare-Language-Codes
plural rules
follow
http://docs.translatehouse.org/projects/localization-guide/en/latest/l10n/pluralforms.html
LingoHub tutorial
follow
https://lingohub.com/blog/2013/07/php-internationalization-with-gettext-tutorial/#Plurals
list
follow
http://docs.translatehouse.org/projects/localization-guide/en/latest/l10n/pluralforms.html
sprintf
follow
https://secure.php.net/manual/function.sprintf.php
Gettext manual
follow
https://www.gnu.org/software/gettext/manual/gettext.html
Symfony documentation
follow
https://symfony.com/doc/current/components/translation/usage.html#creating-translations
gettext()
follow
https://secure.php.net/manual/function.gettext.php
ngettext()
follow
https://secure.php.net/manual/function.ngettext.php
dgettext()
follow
https://secure.php.net/manual/function.dgettext.php
dngettext()
follow
https://secure.php.net/manual/function.dngettext.php
Poedit
follow
https://poedit.net
their website
follow
https://poedit.net/download
oscarotero’s Gettext
follow
https://github.com/oscarotero/Gettext
a specific format
follow
https://www.gnu.org/software/gettext/manual/gettext.html#Language-specific-options
Wikipedia: i18n and l10n
follow
https://en.wikipedia.org/wiki/Internationalization_and_localization
Wikipedia: Gettext
follow
https://en.wikipedia.org/wiki/Gettext
LingoHub: PHP internationalization with gettext tutorial
follow
https://lingohub.com/blog/2013/07/php-internationalization-with-gettext-tutorial/
PHP Manual: Gettext
follow
https://secure.php.net/manual/book.gettext.php
Gettext Manual
follow
https://www.gnu.org/software/gettext/manual/gettext.html
Wikipedia
follow
https://wikipedia.org/wiki/Dependency_injection
What is Dependency Injection?
follow
http://fabien.potencier.org/article/11/what-is-dependency-injection
Dependency Injection: An analogy
follow
https://mwop.net/blog/260-Dependency-Injection-An-analogy.html
Dependency Injection: Huh?
follow
https://code.tutsplus.com/tutorials/dependency-injection-huh--net-26903
Dependency Injection as a tool for testing
follow
https://medium.com/philipobenito/dependency-injection-as-a-tool-for-testing-902c21c147f1
mysqli
follow
https://secure.php.net/mysqli
pgsql
follow
https://secure.php.net/pgsql
mssql
follow
https://secure.php.net/mssql
mysql
follow
https://secure.php.net/mysqli
mysqli
follow
https://secure.php.net/mysqli
pdo
follow
https://secure.php.net/pdo
mysql
follow
https://secure.php.net/mysqli
deprecated as of PHP 5.5.0
follow
https://secure.php.net/migration55.deprecated
officially removed in PHP 7.0
follow
https://secure.php.net/manual/migration70.removed-exts-sapis.php
mysqli
follow
https://secure.php.net/mysqli
PDO
follow
https://secure.php.net/pdo
mysql
follow
https://secure.php.net/mysqli
mysqli
follow
https://secure.php.net/mysqli
PDO
follow
https://secure.php.net/pdo
MySQLi Prepared Statements
follow
https://websitebeaver.com/prepared-statements-in-php-mysqli-to-prevent-sql-injection
PHP: Choosing an API for MySQL
follow
https://secure.php.net/mysqlinfo.api.choosing
PDO
follow
https://secure.php.net/pdo
SQL Injection
follow
http://wiki.hashphp.org/Validation
filter your data
follow
#data_filtering
Learn about PDO
follow
https://secure.php.net/book.pdo
Learn about PDO connections
follow
https://secure.php.net/pdo.connections
OOP
follow
/#object-oriented-programming
functional programming
follow
/#functional-programming
MVC
follow
https://code.tutsplus.com/tutorials/mvc-for-noobs--net-10488
frameworks
follow
/#frameworks
unit-test
follow
/#unit-testing
PDO
follow
https://secure.php.net/book.pdo
PSR-0
follow
https://www.php-fig.org/psr/psr-0/
PSR-4
follow
https://www.php-fig.org/psr/psr-4/
Atlas
follow
https://atlasphp.io
Aura SQL
follow
https://github.com/auraphp/Aura.Sql
Doctrine2 DBAL
follow
https://www.doctrine-project.org/projects/dbal.html
Propel
follow
http://propelorm.org/
Zend-db
follow
https://packages.zendframework.com/docs/latest/manual/en/index.html#zendframework/zend-db
model–view–controller
follow
/pages/Design-Patterns.html#model-view-controller
Plates
follow
http://platesphp.com/
Aura.View
follow
https://github.com/auraphp/Aura.View
Plates
follow
http://platesphp.com/
Plates
follow
http://platesphp.com/
hasn’t improved much
follow
http://fabien.potencier.org/article/34/templating-engines-in-php
Twig
follow
https://twig.symfony.com/
Brainy
follow
https://github.com/box/brainy
Smarty
follow
https://www.smarty.net/
Mustache
follow
https://mustache.github.io/
Twig
follow
https://twig.symfony.com/
Twig
follow
https://twig.symfony.com/
Templating Engines in PHP
follow
http://fabien.potencier.org/article/34/templating-engines-in-php
An Introduction to Views & Templating in CodeIgniter
follow
https://code.tutsplus.com/tutorials/an-introduction-to-views-templating-in-codeigniter--net-25648
Getting Started With PHP Templating
follow
https://www.smashingmagazine.com/2011/10/getting-started-with-php-templating/
Roll Your Own Templating System in PHP
follow
https://code.tutsplus.com/tutorials/roll-your-own-templating-system-in-php--net-16596
Master Pages
follow
https://laracasts.com/series/laravel-from-scratch/episodes/7
Working With Templates in Symfony 2
follow
https://code.tutsplus.com/tutorials/working-with-templates-in-symfony-2--cms-21172
Writing Safer Templates
follow
https://github.com/box/brainy/wiki/Writing-Safe-Templates
Aura.View
follow
https://github.com/auraphp/Aura.View
Blade
follow
https://laravel.com/docs/blade
Brainy
follow
https://github.com/box/brainy
Dwoo
follow
http://dwoo.org/
Latte
follow
https://github.com/nette/latte
Mustache
follow
https://github.com/bobthecow/mustache.php
PHPTAL
follow
https://phptal.org/
Plates
follow
http://platesphp.com/
Smarty
follow
https://www.smarty.net/
Twig
follow
https://twig.symfony.com/
Zend\View
follow
https://framework.zend.com/manual/2.3/en/modules/zend.view.quick-start.html
Error Reporting
follow
/#error_reporting
Xdebug
follow
https://xdebug.org/docs/basic
Scream
follow
https://secure.php.net/book.scream
Error Control Operators
follow
https://secure.php.net/language.operators.errorcontrol
SitePoint
follow
https://www.sitepoint.com/
Xdebug
follow
https://xdebug.org/docs/basic
Scream
follow
https://secure.php.net/book.scream
Whoops!
follow
https://filp.github.io/whoops/
ErrorException Class
follow
https://secure.php.net/class.errorexception
Error Control Operators
follow
https://secure.php.net/language.operators.errorcontrol
Predefined Constants for Error Handling
follow
https://secure.php.net/errorfunc.constants
error_reporting()
follow
https://secure.php.net/function.error-reporting
Reporting
follow
/#error_reporting
SPL extension
follow
/#standard_php_library
Read about Exceptions
follow
https://secure.php.net/language.exceptions
Read about SPL Exceptions
follow
https://secure.php.net/spl.exceptions
Nesting Exceptions In PHP
follow
https://www.brandonsavage.net/exceptional-php-nesting-exceptions-in-php/
The 2018 Guide to Building Secure PHP Software
follow
https://paragonie.com/blog/2017/12/2018-guide-building-secure-php-software
Paragon Initiative
follow
https://paragonie.com/
the basics of web application security
follow
https://paragonie.com/blog/2015/08/gentle-introduction-application-security
ASLR
follow
http://searchsecurity.techtarget.com/definition/address-space-layout-randomization-ASLR
Weak random numbers
follow
https://paragonie.com/blog/2016/01/on-design-and-implementation-stealth-backdoor-for-web-applications
Chosen-ciphertext attacks
follow
https://paragonie.com/blog/2015/05/using-encryption-and-authentication-correctly
Side-channel information leaks
follow
http://blog.ircmaxell.com/2014/11/its-all-about-time.html
The Open Web Application Security Project
follow
https://www.owasp.org/
Survive The Deep End: PHP Security
follow
https://phpsecurity.readthedocs.io/en/latest/index.html
Read the OWASP Security Guide
follow
https://www.owasp.org/index.php/Guide_Table_of_Contents
hash
follow
https://wikipedia.org/wiki/Cryptographic_hash_function
two very different things
follow
https://paragonie.com/blog/2015/08/you-wouldnt-base64-a-password-cryptography-decoded
salted
follow
https://wikipedia.org/wiki/Salt_(cryptography)
a specialized password hashing algorithm
follow
https://paragonie.com/blog/2016/02/how-safely-store-password-in-2016
Learn about password_hash()
follow
https://secure.php.net/function.password-hash
password_compat for PHP >= 5.3.7 && < 5.5
follow
https://github.com/ircmaxell/password_compat
Learn about hashing in regards to cryptography
follow
https://wikipedia.org/wiki/Cryptographic_hash_function
Learn about salts
follow
https://wikipedia.org/wiki/Salt_(cryptography)
PHP password_hash() RFC
follow
https://wiki.php.net/rfc/password_hash
null bytes
follow
https://secure.php.net/security.filesystem.nullbytes
Learn about data filtering
follow
https://secure.php.net/book.filter
Learn about filter_var
follow
https://secure.php.net/function.filter-var
Learn about filter_input
follow
https://secure.php.net/function.filter-input
Learn about handling null bytes
follow
https://secure.php.net/security.filesystem.nullbytes
HTML Purifier
follow
http://htmlpurifier.org/
See Sanitization Filters
follow
https://secure.php.net/filter.filters.sanitize
allowed_classes
follow
https://secure.php.net/manual/function.unserialize.php
See Validation Filters
follow
https://secure.php.net/filter.filters.validate
Register_globals in the PHP manual
follow
https://secure.php.net/security.globals
php.net
follow
https://secure.php.net/function.error-reporting
error_reporting
follow
https://secure.php.net/errorfunc.configuration#ini.error-reporting
display_errors
follow
https://secure.php.net/errorfunc.configuration#ini.display-errors
display_startup_errors
follow
https://secure.php.net/errorfunc.configuration#ini.display-startup-errors
log_errors
follow
https://secure.php.net/errorfunc.configuration#ini.log-errors
Wikipedia
follow
https://wikipedia.org/wiki/Test-driven_development
PHPUnit
follow
https://phpunit.de/
atoum
follow
https://github.com/atoum/atoum
Kahlan
follow
https://github.com/crysalead/kahlan
Peridot
follow
https://peridot-php.github.io/
SimpleTest
follow
http://simpletest.org
Wikipedia
follow
https://wikipedia.org/wiki/Integration_testing
Selenium
follow
https://docs.seleniumhq.org/
Mink
follow
http://mink.behat.org/
Codeception
follow
https://codeception.com/
Storyplayer
follow
https://datasift.github.io/storyplayer/
Behat
follow
http://behat.org/
Cucumber
follow
https://cucumber.io/
PHPSpec
follow
https://www.phpspec.net/
RSpec project
follow
https://rspec.info/
Behat
follow
http://behat.org/
Cucumber
follow
https://cucumber.io/
PHPSpec
follow
https://www.phpspec.net/
RSpec
follow
https://rspec.info/
Codeception
follow
https://codeception.com/
Selenium
follow
https://www.seleniumhq.org/
integrated with PHPUnit
follow
https://github.com/giorgiosironi/phpunit-selenium/
Mockery
follow
https://github.com/padraic/mockery
PHPUnit
follow
https://phpunit.de/
PHPSpec
follow
https://www.phpspec.net/
Prophecy
follow
https://github.com/phpspec/prophecy
PHPSpec
follow
https://www.phpspec.net/
PHPUnit
follow
https://phpunit.de/
php-mock
follow
https://github.com/php-mock/php-mock
Infection
follow
https://github.com/infection/infection
Mutation Testing
follow
https://en.wikipedia.org/wiki/Mutation_testing
PHP PaaS “Platform as a Service” providers
follow
#php_paas_providers
resources section
follow
#resources
nginx
follow
https://nginx.org/
Read more on nginx
follow
https://nginx.org/
Read more on PHP-FPM
follow
https://secure.php.net/install.fpm
Read more on setting up nginx and PHP-FPM securely
follow
https://nealpoole.com/blog/2011/04/setting-up-php-fastcgi-and-nginx-dont-trust-the-tutorials-check-your-configuration/
modules
follow
https://httpd.apache.org/docs/2.4/mod/
prefork MPM
follow
https://httpd.apache.org/docs/2.4/mod/prefork.html
worker MPM
follow
https://httpd.apache.org/docs/2.4/mod/worker.html
event MPM
follow
https://httpd.apache.org/docs/2.4/mod/event.html
mod_proxy_fcgi
follow
https://httpd.apache.org/docs/current/mod/mod_proxy_fcgi.html
Read more on Apache
follow
https://httpd.apache.org/
Read more on Multi-Processing Modules
follow
https://httpd.apache.org/docs/2.4/mod/mpm_common.html
Read more on mod_fastcgi
follow
https://blogs.oracle.com/opal/entry/php_fpm_fastcgi_process_manager
Read more on mod_fcgid
follow
hhttps://httpd.apache.org/mod_fcgid/
Read more on mod_proxy_fcgi
follow
https://httpd.apache.org/docs/current/mod/mod_proxy_fcgi.html
Read more on setting up Apache and PHP-FPM with mod_proxy_fcgi
follow
https://serversforhackers.com/video/apache-and-php-fpm
PHP Versions
follow
http://phpversions.info/shared-hosting/
build automation
follow
https://wikipedia.org/wiki/Build_automation
Phing
follow
https://www.phing.info/
Apache Ant
follow
https://ant.apache.org/
Capistrano
follow
http://capistranorb.com/
Ansistrano
follow
https://ansistrano.com
Capistrano
follow
http://capistranorb.com/
Rocketeer
follow
http://rocketeer.autopergamene.eu/
Deployer
follow
https://deployer.org/
Easy Deployment of PHP Applications with Deployer
follow
https://www.sitepoint.com/deploying-php-applications-with-deployer/
Magallanes
follow
https://www.magephp.com/
Automate your project with Apache Ant
follow
https://code.tutsplus.com/tutorials/automate-your-projects-with-apache-ant--net-18595
Deploying PHP Applications
follow
https://deployingphpapplications.com/
Ansible
follow
https://www.ansible.com/
Puppet
follow
https://puppet.com/
Chef
follow
https://www.chef.io/
An Ansible Tutorial
follow
https://serversforhackers.com/an-ansible-tutorial
Ansible for DevOps
follow
https://leanpub.com/ansible-for-devops
Ansible for AWS
follow
https://leanpub.com/ansible-for-aws
Three part blog series about deploying a LAMP application with Chef, Vagrant, and EC2
follow
http://www.jasongrimes.org/2012/06/managing-lamp-environments-with-chef-vagrant-and-ec2-1-of-3/
Chef Cookbook which installs and configures PHP and the PEAR package management system
follow
https://github.com/chef-cookbooks/php
Chef video tutorial series
follow
https://www.youtube.com/playlist?list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
Travis CI
follow
https://travis-ci.org/
Continuous Integration with Jenkins
follow
https://jenkins.io/
Continuous Integration with PHPCI
follow
https://github.com/dancryer/phpci
Continuous Integration with PHP Censor
follow
https://github.com/php-censor/php-censor
Continuous Integration with Teamcity
follow
https://www.jetbrains.com/teamcity/
Vagrant
follow
https://www.vagrantup.com/
Puppet
follow
https://puppet.com/
Chef
follow
https://www.chef.io/
Puphpet
follow
https://github.com/puphpet/puphpet
Phansible
follow
http://phansible.com/
Docker
follow
https://www.docker.com/
installing docker
follow
https://docs.docker.com/install/
Docker Hub
follow
https://hub.docker.com/
Docker User Guide
follow
https://docs.docker.com/
official repositiories
follow
https://hub.docker.com/explore/
PHPDocker.io
follow
https://phpdocker.io/generator
Docker Website
follow
https://www.docker.com/
Docker Installation
follow
https://docs.docker.com/install/
Docker User Guide
follow
https://docs.docker.com/
Docker Hub
follow
https://hub.docker.com/
Docker Hub - official images
follow
https://hub.docker.com/explore/
opcodes
follow
https://secure.php.net/manual/internals2.opcodes.php
Zend OPcache
follow
https://secure.php.net/book.opcache
opcache.enable
follow
https://secure.php.net/manual/opcache.configuration.php#ini.opcache.enable
Zend OPcache
follow
https://secure.php.net/book.opcache
open source
follow
https://github.com/zendtech/ZendOptimizerPlus
APC
follow
https://secure.php.net/book.apc
XCache
follow
https://xcache.lighttpd.net/
WinCache
follow
https://www.iis.net/downloads/microsoft/wincache-extension
list of PHP accelerators on Wikipedia
follow
https://wikipedia.org/wiki/List_of_PHP_accelerators
PHP Preloading
follow
https://www.php.net/opcache.preloading
APCu
follow
https://github.com/krakjoe/apcu
APC Functions
follow
https://secure.php.net/ref.apc
Memcached
follow
https://memcached.org/
Redis
follow
https://redis.io/
XCache APIs
follow
https://xcache.lighttpd.net/wiki/XcacheApi
WinCache Functions
follow
https://secure.php.net/ref.wincache
tags
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/index.html
PHPDoc manual
follow
https://docs.phpdoc.org/latest/index.html
@author
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/author.html
@link
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/link.html
@author
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/author.html
@link
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/link.html
@param
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/param.html
@return
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/return.html
@throws
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/throws.html
@param
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/param.html
@return
follow
https://docs.phpdoc.org/latest/references/phpdoc/tags/return.html
PHP Website
follow
https://secure.php.net/
PHP Documentation
follow
https://secure.php.net/docs.php
https://www.ogprogrammer.com/2017/06/28/how-to-get-connected-with-the-php-community/
follow
https://www.ogprogrammer.com/2017/06/28/how-to-get-connected-with-the-php-community/
https://twitter.com/CalEvans/lists/phpeople
follow
https://twitter.com/CalEvans/lists/phpeople
AppFog
follow
https://www.ctl.io/appfog/
Amezmo
follow
https://www.amezmo.com
AWS Elastic Beanstalk
follow
https://aws.amazon.com/elasticbeanstalk/
Cloudways
follow
https://www.cloudways.com/
Divio
follow
https://www.divio.com/php/
Engine Yard Cloud
follow
https://www.engineyard.com/features
fortrabbit
follow
https://www.fortrabbit.com/
Google App Engine
follow
https://cloud.google.com/appengine/docs/php/
Heroku
follow
https://devcenter.heroku.com/categories/php-support
IBM Cloud
follow
https://console.bluemix.net/docs/runtimes/php/getting-started.html#getting_started
Jelastic
follow
https://jelastic.com/
Microsoft Azure
follow
https://azure.microsoft.com/
Nanobox
follow
https://nanobox.io/
Pivotal Web Services
follow
https://run.pivotal.io/
Platform.sh
follow
https://platform.sh/
Red Hat OpenShift
follow
https://www.openshift.com/
PHP Versions
follow
http://phpversions.info/paas-hosting/
Packagist
follow
/#composer_and_packagist
Dependency Management
follow
/#dependency_management
FuelPHP Validation package
follow
https://github.com/fuelphp/validation
Aura
follow
http://auraphp.com/framework/
Collection
follow
https://github.com/cakephp/collection
Database
follow
https://github.com/cakephp/database
Datasource
follow
https://github.com/cakephp/datasource
Event
follow
https://github.com/cakephp/event
I18n
follow
https://github.com/cakephp/i18n
ORM
follow
https://github.com/cakephp/orm
FuelPHP
follow
https://github.com/fuelphp
Hoa Project
follow
https://github.com/hoaproject
Symfony Components
follow
https://symfony.com/doc/current/components/index.html
The League of Extraordinary Packages
follow
https://thephpleague.com/
IoC Container
follow
https://github.com/illuminate/container
Eloquent ORM
follow
https://github.com/illuminate/database
Queue
follow
https://github.com/illuminate/queue
Illuminate components
follow
https://github.com/illuminate
PHP Cheatsheets
follow
http://phpcheatsheets.com/
Modern PHP Cheatsheet
follow
https://github.com/smknstd/modern-php-cheatsheet
OWASP Security Cheatsheets
follow
https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series
PHP Best Practices
follow
https://phpbestpractices.org/
Why You Should Be Using Supported PHP Versions
follow
https://kinsta.com/blog/php-versions/
PHP Weekly
follow
http://www.phpweekly.com
JavaScript Weekly
follow
https://javascriptweekly.com/
Frontend Focus
follow
https://frontendfoc.us/
Mobile Web Weekly
follow
https://mobiledevweekly.com/
a list of some
follow
https://github.com/jondot/awesome-weekly
PHP Developer blog
follow
https://blog.phpdeveloper.org/
PHP Academy
follow
https://www.youtube.com/user/phpacademy
The New Boston
follow
https://www.youtube.com/user/thenewboston
Sherif Ramadan
follow
https://www.youtube.com/user/businessgeek
Level Up Tuts
follow
https://www.youtube.com/user/LevelUpTuts
Standards and Best practices
follow
https://teamtreehouse.com/library/php-standards-and-best-practices
PHP Training on Pluralsight
follow
https://www.pluralsight.com/search?q=php
PHP Training on Lynda.com
follow
https://www.lynda.com/search?q=php
PHP Training on Tutsplus
follow
https://code.tutsplus.com/categories/php/courses
Laracasts
follow
https://laracasts.com/
partly because of this
follow
https://wiki.php.net/rfc/php6
PHP Pandas
follow
http://daylerees.com/php-pandas/
PHP The Right Way
follow
https://leanpub.com/phptherightway/
Using Libsodium in PHP Projects
follow
https://paragonie.com/book/pecl-libsodium
Build APIs You Won’t Hate
follow
https://apisyouwonthate.com/
Modern PHP
follow
http://shop.oreilly.com/product/0636920033868.do
Building Secure PHP Apps
follow
https://leanpub.com/buildingsecurephpapps
Modernizing Legacy Applications In PHP
follow
https://leanpub.com/mlaphp
Securing PHP: Core Concepts
follow
https://leanpub.com/securingphp-coreconcepts
Scaling PHP
follow
http://www.scalingphpbook.com/
Signaling PHP
follow
https://leanpub.com/signalingphp
Minimum Viable Tests
follow
https://leanpub.com/minimumviabletests
Domain-Driven Design in PHP
follow
https://leanpub.com/ddd-in-php
irc.freenode.com
follow
https://webchat.freenode.net/?channels=phpc
@phpc
follow
https://twitter.com/phpc
StackOverflow
follow
https://stackoverflow.com/questions/tagged/php
Read the Official PHP Events Calendar
follow
https://secure.php.net/cal.php
PHP.ug
follow
https://php.ug/
Meetup.com
follow
https://www.meetup.com/find/
Google
follow
https://www.google.com/search?q=php+user+group+near+me
NomadPHP
follow
https://nomadphp.com/
PHPWomen
follow
https://twitter.com/PHPWomen
NomadPHP
follow
https://nomadphp.com/
PHPWomen
follow
https://twitter.com/PHPWomen
Read about User Groups on the PHP Wiki
follow
https://wiki.php.net/usergroups
Find a PHP Conference
follow
https://secure.php.net/conferences/index.php
ElePHPant
follow
https://secure.php.net/elephpant.php
Vincent Pontier
follow
http://www.elroubio.net/
Interview with Vincent Pontier
follow
https://7php.com/elephpant/
Josh Lockhart
follow
https://joshlockhart.com
Phil Sturgeon
follow
https://philsturgeon.uk/
Project Contributors
follow
https://github.com/codeguy/php-the-right-way/graphs/contributors
follow
https://creativecommons.org/licenses/by-nc-sa/3.0/
Josh Lockhart
follow
https://joshlockhart.com
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
follow
https://creativecommons.org/licenses/by-nc-sa/3.0/
www.phptherightway.com
follow
https://www.phptherightway.com