Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Objects in PHP - Revision

Part 2 of my "PHP revision" for delegates who will be doing substantial project / systems work. (Part 1 [here]).

Object Oriented techniques give programming languages a practical expandability and robsutness as applications written in them grow in size. Code is separated into classes, with each class dealing with a particular type of data and containing the logic to deal with that data. Classes can be tested individually, they can be written so that they only implement appropriate methodology on the data (i.e. only do sensible things), and can be based on one another so that similar types of data handlers can share common logic.

In OO programming, PHP style:

• Define your own data types
• create data elements of your type ("objects") with a special function ("constructor")
• Only provide the functions ("methods") that make sense
• Keep the code in a separate area called a "class" (usually a separate file)
• All data access should be via methods

There's a first really simple revision object program [here] in PHP.

Going a little further:

• Use private, protected and public declarations to enforce access
• Use one class on which to base another to save coding
• Let PHP work out which method to run to save lots of conditionals (Polymorphism)

There's an example showing that [here]

• Design patterns are standardised ways of doing things to make your code consistent and followable
• Static methods are utility functions in the class as a whole
• A common design pattern is a factory method which translates data into objects
• See also the cached design pattern which means we can be more effcient by saving too many recomputes.

See an example of those techniques in use [here].

Our Object Oriented Programming in PHP day covers the above in detail (and much more), and we also revise OO programming in PHP at the start of our PHP Techniques course.
(written 2012-12-16, updated 2012-12-22)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
H300 - PHP Revision
  [1615] PHP training courses every month - (2008-04-18)
  [1787] Howto - write and manage a news box on your web page - (2008-09-06)
  [2742] A simple server benchmark script - (2010-04-27)
  [3952] PHP revision ... by example. - (2012-12-15)
  [4050] A couple of new fast-start PHP examples - (2013-03-21)

H108 - Objects in PHP
  [67] Object Oriented Programming in PHP - (2004-09-29)
  [124] PHP v Java - (2004-11-20)
  [205] PHP5 lets you say no - (2005-02-07)
  [343] Should I use structured or object oriented? - (2005-06-10)
  [421] Don't repeat code - use loops or functions - (2005-08-21)
  [485] North, Norther and Northest - PHP 5 Objects - (2005-11-04)
  [656] Think about your design even if you don't use full UML - (2006-03-24)
  [720] Planning a hotel refurb - an example of a Gant chart in PHP - (2006-05-14)
  [836] Build on what you already have with OO - (2006-08-17)
  [1027] Cue the music, I'm happy. - (2007-01-09)
  [1153] Object Oriented Model - a summary of changes from PHP4 to PHP5 - (2007-04-18)
  [1217] What are factory and singleton classes? - (2007-06-04)
  [1535] OO PHP demonstration - comparing objects and more - (2008-02-08)
  [1682] Accounts in PHP - an OO demo - (2008-06-19)
  [1819] Calling base class constructors - (2008-10-03)
  [1820] Sorting objects in PHP - (2008-10-04)
  [1925] Introduction to Object Oriented Programming - (2008-12-06)
  [2160] PHP - getclass v instanceof - (2009-05-07)
  [2169] When should I use OO techniques? - (2009-05-11)
  [2171] Cleaning up redundant objects - (2009-05-11)
  [2172] PHP4 v PHP5 - Object Model Difference - (2009-05-11)
  [2380] Object Oriented programming - a practical design example - (2009-08-27)
  [2434] Abstract classes, Interfaces, PHP and Java - (2009-10-03)
  [2435] Serialization - storing and reloading objects - (2009-10-04)
  [2632] Shipping a test harness with your class in PHP - (2010-02-12)
  [2641] Object Oriented Programming in PHP - (2010-02-19)
  [2680] Static class members in PHP - a documented example - (2010-03-16)
  [2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
  [2741] What is a factory? - (2010-04-26)
  [2774] PHP - Object Oriented Design in use - (2010-05-21)
  [2921] Does copying a variable duplicate the contents? - (2010-08-14)
  [2922] Getting the OO design write - with PHP a example - (2010-08-14)
  [3142] Private and Public - and things between - (2011-01-22)
  [3210] Catchable fatal error in PHP ... How to catch, and alternative solutions such as JSON - (2011-03-22)
  [3211] Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion - (2011-03-24)
  [3607] Designing your application - using UML techniques - (2012-02-11)
  [3608] Design Patterns - what are they? Why use them? - (2012-02-12)
  [3609] How do classes relate to each other? Associated Classes - (2012-02-12)
  [3840] Autoload in PHP - (2012-08-17)
  [3841] Copying, duplicating, cloning an object in PHP - (2012-08-18)
  [3843] Caching Design Patterns - (2012-08-20)
  [4057] stdClass in PHP - using an object rather than an associative array - (2013-04-02)
  [4073] Learning about Object Orientation in PHP - a new set of examples - (2013-04-28)
  [4356] Object factories in C++, Python, PHP and Perl - (2014-12-19)
  [4366] Changing what operators do on objects - a comparison across different programming languages - (2014-12-26)
  [4626] Singleton design pattern - examples and uses - (2016-01-20)
  [4627] Caching results in an object for efficiency - avoiding re-calculation - (2016-01-20)
  [4628] Associative objects - one object within another. - (2016-01-20)


Back to
PHP revision ... by example.
Previous and next
or
Horse's mouth home
Forward to
Lesson 1 in programing - write clean, reuseable and maintainable tidy code
Some other Articles
The week before Christmas
Zend / layout of MVC and other files in an example application (PHP)
Building up from a small PHP setup to an enterprise one
Lesson 1 in programing - write clean, reuseable and maintainable tidy code
Objects in PHP - Revision
Christmas Bus Schedule for Melksham - First Bus
10 reasons why I travel the night before a course starts
Melksham Spa from Woolmore Farm
Quiet little town? Advanced Technology Centre?
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., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/3953_Obj ... sion-.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb