With sincere gratitude from Webel IT Australia to Drupal CMS. Although it's not perfect, it is very powerful and is very popular with good reason.
This essential and unique subzone progressively includes information on the main Interfaces/Classes in the OOE = Object Oriented Examples = One Of Each object-oriented tutorial module, modelled here in graphical Unified Modeling Language (UML) using the Webel «!wrapper» @Components and «!analysis» @Interfaces recipe - a powerful UML analysis modelling strategy developed over many years by Dr Darren of Webel IT Australia, adapted here to parasitically analyse "already design(ed)" reverse-engineered PHP Interfaces/Classes.
Although it is very much a work-in-progress, this zone is already of enormous use, as it shows exactly how an object-oriented bridge to Drupal core can be constructed so that one need never deal directly with Drupal's structured arrays ever again (which is very good news indeed).
However, there are limits to how well one can reverse-engineer PHP into UML due to limits in its type-hinting mechanisms and Drupal documentation conventions, which is one crucial reason why in the Webel recipe for modelling PHP all associative UML modelling is performed with «!wrapper» @Components in special, completely separate «!analysis» packages that know about the reverse-engineered design elements.
Please click to view this image full size in an image viewer:
It is important that you read any Webel modelling policy notes that appear under the UML diagrams (within a collapsible Notes fieldset) within this zone or you will otherwise probably not be able to understand the very powerful (and highly consistent) Webel «!wrapper» @Component and «!analysis» @Interface system that is used track, analyze, and model the reverse-engineered design(ed) PHP Classes and Interfaces !
There is a lot to this site, the tutorials, and the OOE = Object Oriented Examples = One Of Each tutorial module, so don't expect to understand it all at once. Even if you aren't a graphical Unified Modeling Language (UML) expert, your number one friend is the OOE graphical UML models, because without them you will never understand why the object-oriented PHP is coded as it is ! Fortunately, it doesn't matter too much where you are within the UML model pages, as they are designed to be cross-navigable. They also (mostly) link to the matching OOE: API reference pages including the complete PHP code.
Good places to start within the OOE UML models include:
- The minimal Demo project with a page controller, page menu item, and a very simple block.
- The Drupal\ooe\Demo\Project overview, which illustrates also how the special OOE creation pattern stereotype notations «!chosen» and «!new» are used together. Compare with how the «!product» and «!new» stereotype notations are used together in factories like AbstractFactory (and DefaultFactory) which supply products for classes like DefaultModuleHelper.
- CurrentPosts (as adapted to OOE) without an OO page controller (calls back on the .module file)
Please visit also the automatically generated OOE API.
This educational site is brought to you by Webel IT Australia, experts in database-driven web technology for industry, engineering, education and science. Webel is one of Australia's most experienced Drupal CMS web site specialists.
'It ain't necessarily so,
It ain't necessarily so,
The t'ings dat yo' li'ble,
To read in de [Drupal6/7] Bible,
It ain't necessarily so.'
Heresy: Doctrine rejected as false by religious authorities.
Logical fallacy: Appeal to popularity, Argumentum ad populum.
© Copyright 2001 - 2016 Webel IT Australia (ABN: 67 677 268 579). All rights reserved (except as specified below).
PHP code examples from Webel IT Australia on this site are distributed under the GNU General Public License.
Excludes text and code snippets from Drupal.org quoted for educational purposes.
Drupal’s online documentation is © 2000-2014 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0.
PHP code from Drupal.org is distributed under the GNU General Public License.
Drupal® is a registered trademark of Dries Buytaert.
Text quoted from Wikipedia for educational purposes is made available under the Creative Commons Attribution-ShareAlike License.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Site developed by Webel IT Australia.