Template:Class: Difference between revisions

From Sunhill Framework Documentation
First draft of a template
 
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:


Example:
Example:
  <nowiki>{{Class|Purpose=This is a test class for demonstration this template|Name=TestClass|Dir=/src/some/dir}}</nowiki>
  <nowiki>{{Class
|Purpose=This is a test class for demonstration this template
|Name=TestClass
|Dir=/src/some/dir
|Namespace=Sunhill/Test
|Submodule=Example
|Members=
{{Member|Name=MemberA|Type=Integer|Description=This is memberA}}
{{Member|Name=MemberB|Type=String|Description=This is memberB}}
}}</nowiki>


creates
creates
{{Class|Purpose=This is a test class for demonstration this template|Name=TestClass|Dir=/src/some/dir}}
{{Class
|Purpose=This is a test class for demonstration this template
|Name=TestClass
|Dir=/src/some/dir
|Namespace=Sunhill/Test
|Submodule=Example
|Members=
{{Member|Name=MemberA|Type=Integer|Description=This is memberA}}
{{Member|Name=MemberB|Type=String|Description=This is memberB}}
|Methods={{Method
|Name=TestMethod
|Description=This method does something wonderful
|Returntype=Integer
|Parameters=
{{Parameter
  |Name=ParameterA
  |Type=String
  |Description=An string parameter}}
{{Parameter
  |Name=ParameterB
  |Type=Integer
  |Default=10
  |Description=An integer parameter with default of 10}}
|Test=/tests/Unit/Some/TestTest.php
}}}}


[[Category:Developer resources]]</noinclude><includeonly>== Purpose ==
[[Category:Template:Developer resources]]</noinclude><includeonly>== Purpose ==
{{{Purpose}}}
{{{Purpose}}}


Line 13: Line 46:
* '''Name''': {{{Name}}}
* '''Name''': {{{Name}}}
* '''Directory''': {{{Dir}}}
* '''Directory''': {{{Dir}}}
* '''Namespace''': {{{Namespace}}}
{{#if: {{{Submodule}}}|
* '''Sub-module''': [[Submodules/{{{Submodule|}}}|{{{Submodule|}}}]]}}
== Member variables ==
== Member variables ==
{{#if: {{{Members}}}|
{{Members list|Members={{{Members}}}}}
|No member variables}}


{{#if: {{{Methods}}}|
== Methods ==
== Methods ==
 
{{{Methods}}}|No methods}}
</includeonly>
</includeonly>

Latest revision as of 08:40, 27 September 2024

The class template gives an unified way to describe the intention, member variables and methods of a sunhill framework class.

Example:

{{Class
|Purpose=This is a test class for demonstration this template
|Name=TestClass
|Dir=/src/some/dir
|Namespace=Sunhill/Test
|Submodule=Example
|Members=
{{Member|Name=MemberA|Type=Integer|Description=This is memberA}}
{{Member|Name=MemberB|Type=String|Description=This is memberB}}
 }}

creates

Purpose

This is a test class for demonstration this template

General information

  • Name: TestClass
  • Directory: /src/some/dir
  • Namespace: Sunhill/Test
  • Sub-module: Example

Member variables

Name Type Meaning
MemberA Integer This is memberA
MemberB String This is memberB

Methods

TestMethod

Description

This method does something wonderful

Parameters

Name Type Default Description
ParameterA String An string parameter
ParameterB Integer 10 An integer parameter with default of 10

Return type

Integer

Test

/tests/Unit/Some/TestTest.php