PHP: Difference between revisions
Jump to navigation
Jump to search
(→Syntax) |
|||
Line 7: | Line 7: | ||
* [https://dzone.com/refcardz/php-54-scalable php DZone cheat sheet] |
* [https://dzone.com/refcardz/php-54-scalable php DZone cheat sheet] |
||
* [http://files.cnblogs.com/files/E-WALKER/PhpQuickRef.pdf php Quick Reference] |
* [http://files.cnblogs.com/files/E-WALKER/PhpQuickRef.pdf php Quick Reference] |
||
== Install == |
|||
=== On Windows === |
|||
Download the zip archive on http://windows.php.net/download/: |
|||
* [http://windows.php.net/downloads/releases/php-5.6.30-nts-Win32-VC11-x86.zip PHP 5.6.30 32-bit - Non Thread Safe] (faster). |
|||
To install: |
|||
* Create a directory {{file|C:\php}} and unzip archive inside. |
|||
* Add {{file|C:\php}} to system environment path <code>PATH</code>. |
|||
* Copy {{file|C:\php\php.ini-production}} to {{file|C:\php.ini}}. |
|||
: Alternatively use the development version for more debug. But production ini is handy to mute deprecated API warnings |
|||
Enable a few extensions: |
|||
* To use '''HTTPS''' or '''SSL''', uncomment the line: |
|||
<source lang="text"> |
|||
extension=php_openssl.dll |
|||
</source> |
|||
* To use '''SOAP''', uncomment the line: |
|||
<source lang="text"> |
|||
extension=php_soap.dll |
|||
</source> |
|||
* To use '''Curl''', uncomment the line: |
|||
<source lang="text"> |
|||
extension=php_curl.dll |
|||
</source> |
|||
* To use '''XML RPC''', uncomment the line: |
|||
<source lang="text"> |
|||
extension=php_xmlrpc.dll |
|||
</source> |
|||
== Invocation == |
== Invocation == |
Revision as of 17:01, 17 June 2017
References
- Language reference on php.net
- php tutorial on w3schools.com (check the menu on the left)
Cheat sheets:
Install
On Windows
Download the zip archive on http://windows.php.net/download/:
- PHP 5.6.30 32-bit - Non Thread Safe (faster).
To install:
- Create a directory C:\php and unzip archive inside.
- Add C:\php to system environment path
PATH
. - Copy C:\php\php.ini-production to C:\php.ini.
- Alternatively use the development version for more debug. But production ini is handy to mute deprecated API warnings
Enable a few extensions:
- To use HTTPS or SSL, uncomment the line:
extension=php_openssl.dll
- To use SOAP, uncomment the line:
extension=php_soap.dll
- To use Curl, uncomment the line:
extension=php_curl.dll
- To use XML RPC, uncomment the line:
extension=php_xmlrpc.dll
Invocation
php -a # Start PHP in interactive mode
Syntax
/* arrays */
$attr = array(); // an empty array
$attr = array("border"=>"myborder", "mode"=>"mymode"); // associative array
/* strings */
'abc' . 'def' // concatenation
"abc $var def" // variable reference in strings
$s=str_replace("\n","",$s); // Replace a substring in a string
$s=str_replace(array("\r","\n","\t"," "),"",$s; // ... idem, with several substrings (also support several "replace" strings)
/* OO */
self::$static_property;
$this->property;
self::CONSTANT;
/* special keywords */
self; // The current class
$this; // The current object
NULL; // The null reference
/* magic constants -- http://php.net/manual/en/language.constants.predefined.php */
__FILE__ // The full path and filename of the file with symlinks resolved
__DIR__ // Equivalent to dirname(__FILE__). Since PHP 5.3.0
/* Scope */
global $wgScriptPath; // Declare $wgScriptPath as global when in a local scope
Unicode support
- First, if PHP file contains special character, make sure the PHP file is encoded in UTF-8:
file -bi FenTT.php # To get current encoding
iconv -f $encoding -t UTF-8 -o FenTT.out.php FenTT.php # Specify correct source $encoding as given above (note that converting us-ascii is useless)
- Specify the default multi-byte encoding:
mb_internal_encoding("UTF-8");
- Next store unicode char as follows [1]:
$S = '\u2654\u2655\u2656\u2657';
$S = json_decode('"'.$S.'"');
$D = mb_substr($S,2,1); // instead of $D=$S[2]
See php reference - string details for more information on how strings are handled internally in php.