PHP
Comments[edit]
// single line /* multiple line */
Functions[edit]
- function arguments:
- bool
- int
- float
- string
- array
- callable
- self
- iterable
- object
- class
- interface
OO[edit]
- namespace?
- interface?
- self?
- method
- $this?
- use?
- annotations?
- visibility:
- private: only in this class
- protected: only in derived classes
- public: everywhere
- ctor
function __construct() {
parent::__construct(); // has to be called explicitly
...
}
There can only be one ctor which can have function parameters.
- dtor
function __destruct() {
parent::__destruct(); // has to be called explicitly
}
- inheritance
class B extends A
{
public function __construct()
{
parent::__construct();
- trait: a trait is similar to a class, but only intended to group functionality in a fine-grained and consistent way. It is not possible to instantiate a Trait on its own. It is an addition to traditional inheritance and enables horizontal composition of behavior; that is, the application of class members without requiring inheritance.
PHP Standard Recommendation (PSR)[edit]
- PSR-1
- each sub-word should be capitalised in both instances, with classes having an initial upper-case letter (StudlyCaps) and methods an initial lower-case letter (camelCase)
- Class constants MUST be declared in all upper case with underscore separators
- [ PSR-3] is the logger interface
- PSR-2
- PSR-4
PDO[edit]
PHP Data Objects (PDO) is a Database Access Abstraction Layer.
Exceptions[edit]
The base Exception class provided in PHP 5 can be extended.
PHPUnit[edit]
PHPUnit provides a simple framework for creating a test suite to automate testing of functions and classes.
Installation[edit]
XDebug[edit]
- documentation see here
- activate in php.ini an restart web server
- XDebug will not automatically start a debugging session, but it needs to be activated in one of three ways
- before starting a PHP script from command line by set the environment variable XDEBUG_CONFIG
- calling a PHP script from a web browser by using setting the GET parameter XDEBUG_SESSION_START, by setting it as a POST parameter of through a cookie named XDEBUG_SESSION
- last can be set by using a browser extension for XDebug