BigPipe is a fundamental redesign of the dynamic web page serving system. The general idea is to decompose web pages into small chunks called pagelets, and pipeline them through several execution stages inside web servers and browsers. This is similar to the pipelining performed by most modern microprocessors: multiple instructions are pipelined through different execution units of the processor to achieve the best performance.
There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web and what the contributors consider to be best practices at the present time. There is no canonical way to use PHP.
The conceptual difference between Drupal, as embodied in Drupal 8, and other major PHP projects is vastly smaller than ever before, providing PHP coders two key advantages: it makes it easier for non-Drupal developers to learn Drupal and it makes it easier for Drupal developers to learn non-Drupal systems.
Packagist is a Composer package repository. It lets you find packages and lets Composer know where to get the code from. You can use Composer to manage your project or libraries' dependencies - read more about it on the Composer website.
Just-in-time provisioning of Drupal user accounts based on SAML attributes (configurable). Automatic role assignment based on SAML attributes (configurable). Dual mode - support for traditional Drupal accounts and SAML-authenticated accounts at the same time (configurable).
Is error reporting on and display errors on in development and off in production? Do not suppress errors in your code. Implement a logging framework. Use a caching strategy. Keep in mind and use programming design patterns and best practices. Use tests in your code and try to automate running these tests every time a change occurs in the code base. Review or at least audit team members’ code. Practice defensive programming. Learn and use OOP principles correctly. Have a solid workflow and processes for developing and deploying code. Differentiate between read / write database queries.
Traits: Just gimme the codez Enter traits. Traits don't imply a relationship. They're purely code reuse. At runtime, traits no longer exist. They say nothing about an object that uses them, how they behave, what you can do with them, or anything else. They are purely code reuse. In that sense, they are completely orthogonal to interfaces; whereas an interface is purely interface reuse, a trait is purely code reuse.