PHP: Difference between revisions

From Freephile Wiki
The rest of this is very old, but I wanted to add a couple decent links
add mod_php vs php-fpm
Line 1: Line 1:
== Who wrote PHP?==
==Who wrote PHP?==
https://www.php.net/credits.php
https://www.php.net/credits.php


== How do you upgrade? ==
==How do you upgrade?==
See the [https://www.php.net/manual/en/ migrating appendices in the manual]
See the [https://www.php.net/manual/en/ migrating appendices in the manual]


== Resource Sites ==
== Mod PHP vs PHP-FPM ==
# Aidan Lister from Autstralia has a nice site online (source provided to make your own similar site) which lists many classes and PHP functions for doing routine things that you will inevitabably face in programming.  Things like making a directory structure recursively, or checking the size of a directory and it's contents.  http://aidanlister.com/
See the [https://www.zend.com/blog/apache-phpfpm-modphp#how-to-choose-between-mod-php-and-php-fpm article by Matthew Weier-O'Phinney on Zend.com]
# Jeroen (John) Post created http://onlinephpfunctions.com/ which lets you play with PHP code in the browser, and specifically test that code with multiple versions of PHP.


==Resource Sites==


== Language Features ==
#Aidan Lister from Autstralia has a nice site online (source provided to make your own similar site) which lists many classes and PHP functions for doing routine things that you will inevitabably face in programming.  Things like making a directory structure recursively, or checking the size of a directory and it's contents.  http://aidanlister.com/
#Jeroen (John) Post created http://onlinephpfunctions.com/ which lets you play with PHP code in the browser, and specifically test that code with multiple versions of PHP.


=== Magic Methods ===
* [https://github.com/guidovanbiemen/setngeti SetnGeti] - an implementation of Magic Methods for getting and setting based on traits and DocBlock comments.
* [https://cspray.github.io/2012/05/13/stop-calling-them-getters-setters Don't do it the wrong way]


=== JSON ===
==Language Features==
 
===Magic Methods===
 
*[https://github.com/guidovanbiemen/setngeti SetnGeti] - an implementation of Magic Methods for getting and setting based on traits and DocBlock comments.
*[https://cspray.github.io/2012/05/13/stop-calling-them-getters-setters Don't do it the wrong way]
 
===JSON===


With <code>[https://php.net/manual/en/function.json-decode.php json_decode()]</code>, you either get an object, or using the optional second
With <code>[https://php.net/manual/en/function.json-decode.php json_decode()]</code>, you either get an object, or using the optional second
Line 31: Line 36:




== ToDo ==
==ToDo==
* implement the codesniffer locally https://github.com/wikimedia/mediawiki-tools-codesniffer
 
*implement the codesniffer locally https://github.com/wikimedia/mediawiki-tools-codesniffer


[[Category:PHP]]
[[Category:PHP]]

Revision as of 09:02, 22 February 2024

Who wrote PHP?[edit]

https://www.php.net/credits.php

How do you upgrade?[edit]

See the migrating appendices in the manual

Mod PHP vs PHP-FPM[edit]

See the article by Matthew Weier-O'Phinney on Zend.com

Resource Sites[edit]

  1. Aidan Lister from Autstralia has a nice site online (source provided to make your own similar site) which lists many classes and PHP functions for doing routine things that you will inevitabably face in programming. Things like making a directory structure recursively, or checking the size of a directory and it's contents. http://aidanlister.com/
  2. Jeroen (John) Post created http://onlinephpfunctions.com/ which lets you play with PHP code in the browser, and specifically test that code with multiple versions of PHP.


Language Features[edit]

Magic Methods[edit]

JSON[edit]

With json_decode(), you either get an object, or using the optional second parameter, you can force the return value to an array. In the former case, you access the content using object notation. In the latter case, you use array notation. ie.

$data = json_decode($data);
$version = $data->query->general->generator;
    // or     
$data = json_decode($data, true);
$version = $data['query']['general']['generator'];


ToDo[edit]