You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Over the years in the PHP community we have noticed that many users encounter
similar issues and questions about PHP and web development throughout their PHP
journey. This is a living repository that includes a collection of articles, best
practices and frequently asked questions about PHP.
Introduction to PHP
[What is PHP? Where Should I Start?]({% link _resources/introduction/what-is-php.md %})
[PHP Evolution]({% link _resources/introduction/evolution.md %})
[PHP Installation]({% link _resources/introduction/installation.md %})
[Why Choosing PHP?]({% link _resources/introduction/why-php.md %})
[Which Books are recommended for Learning PHP?]({% link _resources/introduction/books.md %})
[Which hosting service should I use for PHP, are there any free hosting providers?]({% link _resources/introduction/hosting.md %})
[PHP Basics]({% link _resources/introduction/basics.md %})
[PHP 7]({% link _resources/introduction/php7.md %})
[PHP Versions Usage]({% link _resources/introduction/versions.md %})
[Why is PHP Using Dollar Sign $ to Prefix Variables?]({% link _resources/introduction/dollar-sign.md %})
Object Oriented Programming
[What is object oriented programming (OOP)?]({% link _resources/oop/intro.md %})
[Abstract Classes in PHP]({% link _resources/oop/abstract-classes.md %})
[What are Iterators in PHP and How to Use Them?]({% link _resources/oop/iterators.md %})
[What is Dependency Injection Container in PHP?]({% link _resources/oop/dic.md %})
[What are design patterns in PHP?]({% link _resources/oop/design-patterns.md %})
[Abstract Factory]({% link _resources/oop/design-patterns/abstract-factory.md %})
[Adapter]({% link _resources/oop/design-patterns/adapter.md %})
[Bridge]({% link _resources/oop/design-patterns/bridge.md %})
[Builder]({% link _resources/oop/design-patterns/builder.md %})
[Chain of Responsibility]({% link _resources/oop/design-patterns/chain-of-responsibility.md %})
[Command]({% link _resources/oop/design-patterns/command.md %})
[Composite]({% link _resources/oop/design-patterns/composite.md %})
[Decorator]({% link _resources/oop/design-patterns/decorator.md %})
[Dependency Injection]({% link _resources/oop/design-patterns/dependency-injection.md %})
[Facade]({% link _resources/oop/design-patterns/facade.md %})
[Flyweight]({% link _resources/oop/design-patterns/flyweight.md %})
[Interpreter]({% link _resources/oop/design-patterns/interpreter.md %})
[Iterator]({% link _resources/oop/design-patterns/iterator.md %})
[Lazy Loading]({% link _resources/oop/design-patterns/lazy-loading.md %})
[Mediator]({% link _resources/oop/design-patterns/mediator.md %})
[Memento]({% link _resources/oop/design-patterns/memento.md %})
[Mock Object]({% link _resources/oop/design-patterns/mock-object.md %})
[Null Object]({% link _resources/oop/design-patterns/null-object.md %})
[Object Pool]({% link _resources/oop/design-patterns/object-pool.md %})
[Observer]({% link _resources/oop/design-patterns/observer.md %})
[Prototype]({% link _resources/oop/design-patterns/prototype.md %})
[Proxy Design Pattern]({% link _resources/oop/design-patterns/proxy.md %})
[Servant Design Pattern]({% link _resources/oop/design-patterns/servant.md %})
[Singleton Design Pattern]({% link _resources/oop/design-patterns/singleton.md %})
[State Design Pattern]({% link _resources/oop/design-patterns/state.md %})
[Strategy Design Pattern]({% link _resources/oop/design-patterns/strategy.md %})
[Template Method]({% link _resources/oop/design-patterns/template-method.md %})
[Type Tunnel Design Pattern]({% link _resources/oop/design-patterns/type-tunnel.md %})
[Visitor Design Pattern]({% link _resources/oop/design-patterns/visitor.md %})
[What is an anti-pattern?]({% link _resources/oop/anti-patterns.md %})
Databases
[What is Database and How to Access Database From PHP?]({% link _resources/databases/intro.md %})
[Why are mysql_* Functions Removed and What to Do?]({% link _resources/databases/mysql-functions.md %})
[PDO vs. mysqli?]({% link _resources/databases/mysqli-or-pdo.md %})
[What is PDO?]({% link _resources/databases/pdo.md %})
[Database management systems vs. file systems?]({% link _resources/databases/database-vs-filesystem.md %})
[MongoDB vs. MySQL]({% link _resources/databases/mongodb-vs-mysql.md %})
[What is ORM?]({% link _resources/databases/orm.md %})
[How to store files in database?]({% link _resources/databases/files.md %})
Security
[How to Secure PHP Web Applications and Prevent Attacks?]({% link _resources/security/intro.md %})
[How to Work With Users' Passwords and How to Securely Hash Passwords in PHP?]({% link _resources/security/passwords.md %})
[What is SQL injection and how to prevent it?]({% link _resources/security/sql-injection.md %})
[How to Securely Upload Files With PHP?]({% link _resources/security/uploading.md %})
[Configuration in PHP Applications]({% link _resources/security/configuration.md %})
[How to Protect and Hide PHP Source Code?]({% link _resources/security/code-protection.md %})
[How to Install SSL Certificate and Enable HTTPS?]({% link _resources/security/ssl.md %})
PHP Frameworks
[What is a PHP framework and which one should I learn and use?]({% link _resources/frameworks/frameworks.md %})
[How to make your own PHP framework?]({% link _resources/frameworks/create-your-own-framework.md %})
[Cake PHP]({% link _resources/frameworks/cakephp.md %})
[CodeIgniter]({% link _resources/frameworks/codeigniter.md %})
[Laravel]({% link _resources/frameworks/laravel.md %})
[Symfony]({% link _resources/frameworks/symfony.md %})
[Yii]({% link _resources/frameworks/yii.md %})
[Zend Framework]({% link _resources/frameworks/zendframework.md %})
Code Quality and Testing
[Writing Quality Code and Code Analysis]({% link _resources/quality/code-quality.md %})
[How to Test PHP Code?]({% link _resources/quality/testing.md %})
[Behavior Driven Development?]({% link _resources/quality/bdd.md %})
[How to Debug PHP Code?]({% link _resources/quality/debugging.md %})
[How to Write Standardized PHP Code?]({% link _resources/quality/standards.md %})
Packages, Libraries and Managing Dependencies
[Where to Get Open Source PHP Libraries, Scripts and Packages?]({% link _resources/packages/ecosystem.md %})
[What is Composer?]({% link _resources/packages/composer.md %})
[What is CMS and which one should I use?]({% link _resources/packages/cms.md %})
[Which eCommerce application should I use or which framework to use for building eCommerce application?]({% link _resources/packages/ecommerce.md %})
[How to work with Excel in PHP?]({% link _resources/packages/excel.md %})
[Are there any image manipulation libraries in PHP? Which ones are good?]({% link _resources/packages/image-libraries.md %})
[How to add pagination?]({% link _resources/packages/pagination.md %})
[What is payment gateway? How to integrate and use payment gateways in PHP?]({% link _resources/packages/payment-gateways.md %})
[How to work with PDF files in PHP?]({% link _resources/packages/pdf.md %})
[PHP Packages]({% link _resources/packages/packages.md %})
API
[What is API?]({% link _resources/api/api.md %})
[What is REST?]({% link _resources/api/rest.md %})
[What is SOAP?]({% link _resources/api/soap.md %})
Interoperability
[Which editor and IDE to choose for writing PHP code?]({% link _resources/interoperability/editor-ide.md %})
[Atom Editor for PHP Developers]({% link _resources/interoperability/atom.md %})
[What is GIT?]({% link _resources/interoperability/git.md %})
[Which are recommended libraries and resources to use with PHP?]({% link _resources/interoperability/intro.md %})
[Nopaste List and Services to Share and Run Code Online]({% link _resources/interoperability/nopaste.md %})
[Vagrant Tutorial]({% link _resources/interoperability/vagrant.md %})
[Web Assets (Images, JavaScript, CSS Files)]({% link _resources/interoperability/assets.md %})
PHP Community
[What is PHP Community? What are PHP User Groups?]({% link _resources/community/groups.md %})
[What are PHP Conferences and Where Can I Attend One?]({% link _resources/community/conferences.md %})
[What is ElePHPant and Why PHP Uses Elephants in Some Logotypes?]({% link _resources/community/elephpant.md %})
[How to ask smart questions?]({% link _resources/community/smart-questions.md %})
[PHP Podcasts]({% link _resources/community/podcasts.md %})
General
[Undefined Variable/Index Notice]({% link _resources/general/undefined-variable-index-notice.md %})
[How to detect browser in PHP?]({% link _resources/general/browser-detection.md %})
[Where to Get PHP Certification?]({% link _resources/general/certification.md %})
[What is web crawling and how to crawl websites with PHP?]({% link _resources/general/crawling.md %})
[How to work with date and time in PHP?]({% link _resources/general/date-time.md %})
[How to deploy PHP application?]({% link _resources/general/deployment.md %})
[Can PHP be used for building desktop applications?]({% link _resources/general/desktop-applications.md %})
[How to send email with PHP?]({% link _resources/general/email.md %})
[How to show and handle errors in PHP?]({% link _resources/general/errors.md %})
[How to detect face with PHP?]({% link _resources/general/face-detection.md %})
[$_GET vs $_POST?]({% link _resources/general/get-vs-post.md %})
[How to fix Cannot modify header information - headers already sent by... warning?]({% link _resources/general/headers-already-sent.md %})
[How to Increase the File Upload Size in PHP?]({% link _resources/general/increase-file-upload-size.md %})
[How to get client's IP address in PHP?]({% link _resources/general/ip.md %})
[How to detect ISP with PHP?]({% link _resources/general/isp.md %})
[Open source licenses]({% link _resources/general/licenses.md %})
[How to create Phar (PHP Archive)?]({% link _resources/general/phar.md %})
[How to use PHP from the command-line?]({% link _resources/general/cli.md %})
[How to make readable, SEO friendly URLs in PHP?]({% link _resources/general/pretty-urls.md %})
[What is the difference between a developer and programmer?]({% link _resources/general/professions.md %})
[Can you suggest some projects I can make?]({% link _resources/general/projects.md %})
[Regex - Regular Expressions in PHP]({% link _resources/general/regex.md %})
[What is web scraping and how to scrape data in PHP?]({% link _resources/general/scraping.md %})
[How to take screenshot of a URL with PHP?]({% link _resources/general/screenshot.md %})
[Single vs double quotes in PHP]({% link _resources/general/single-vs-double-quotes.md %})
[How to send SMS with PHP?]({% link _resources/general/sms.md %})
[Which PHP template engine to use?]({% link _resources/general/templating.md %})
[How to Manage Wildcard Subdomains in PHP?]({% link _resources/general/wildcard-subdomains.md %})
[How to fix failed to open stream warning?]({% link _resources/general/warning-include-require-failed-stream.md %})
[What is the difference between a Core and Vanilla Developer?]({% link _resources/general/difference-core-and-vanilla.md %})
PHP Best Practices
[PHP Best Practices]({% link _resources/best-practices/index.md %})