Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
 
Adding extensions to PHP Open Source applications - callbacks

Over the last two days, I've installed and configured MediaWiki, WordPress, Status.net and Drupal on one of our training systems, and looked (in each case) at how to configure them and install extra plugins / modules - both standardly available ones, and also how to start writing your own.

In two days we've only been able to scratch the surface of these huge topic, but the question arose "How do the standard packages see / register call the add ons". Details vary, but much of it is done through the use of callbacks. So - how do callbacks work?

The base code of each of these open source applications includes arrays which contain the names of all the functions that might be called - as strings. And other strings can be dynamically added to the list too.

When the code if run, these extra routines will be called at predetermined places in the source, thus running that extra code; a check with function_exists ensures that the application doesn't fall over by trying to run code that's not available. There's a demonstration [here] which shows you the mechanism.

I was very impressed by the extensive documentation in MediaWiki for its extension hooks - see [here] - perhaps this is the open source application that I'm most familiar with tailoring, although we also use the SMF forum in many guises ;-)

(written 2010-03-17, updated 2010-03-25)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
H105 - PHP - Functions
  [3026] Coding efficiency - do not repeat yourself! - (2010-11-02)
  [2929] Passing a variable number of parameters in to a function / method - (2010-08-20)
  [2737] Improving your function calls (APIs) - General and PHP - (2010-04-24)
  [2630] Static variables and ampersands in PHP - (2010-02-10)
  [2488] A variable number of arguments in a PHP function - (2009-11-02)
  [1784] Global - Tcl, PHP, Python - (2008-09-03)
  [1380] Static variables in PHP - (2007-10-05)
  [1357] Clean my plate, but keep my wine bottle. (PHP; Static) - (2007-09-18)
  [1267] is there a lookup function in php? - (2007-07-15)
  [1202] Returning multiple values from a function (Perl, PHP, Python) - (2007-05-24)
  [1163] A better alternative to cutting and pasting code - (2007-04-26)
  [1021] PHP - static declaration - (2007-01-04)
  [936] Global, Superglobal, Session variables - scope and persistance in PHP - (2006-11-21)
  [866] A lazy programmer is a good programmer - (2006-09-15)
  [775] Do not duplicate your code - (2006-06-23)
  [421] Don't repeat code - use loops or functions - (2005-08-21)
  [409] Functions and commands with dangerous names - (2005-08-11)
  [340] Code and code maintainance efficiency - (2005-06-08)
  [339] Passing information into and out of PHP functions - (2005-06-07)
  [308] Call by name v call by value - (2005-05-11)
  [223] There is a function in PHP to do that - (2005-02-21)
  [96] Variable Scope - (2004-10-22)

H400 - Open Source Applications in PHP
H401 - Some extra PHP modules
  [3454] Your PHP website - how to factor and refactor to reduce growing pains - (2011-09-24)
  [3453] Reading and using emails including enclosures on your web server. - (2011-09-23)
  [2343] World Flags in your PHP pages - (2009-08-10)
  [732] Where is a web site visitor browsing from - (2006-05-24)


Back to
Tcl - a great engineering language
Previous and next
or
Horse's mouth home
Forward to
Car Parking in Melksham
Some other Articles
Freedom of Information - consideration for web site designers
Stairs
Exception handling in PHP
Car Parking in Melksham
Adding extensions to PHP Open Source applications - callbacks
Tcl - a great engineering language
Static class members in PHP - a documented example
How to build a test harness into your PHP
Reaching out to the community - a good case for support
Blowing out the winter cobwebs
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2682_Add ... backs.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat