-
Notifications
You must be signed in to change notification settings - Fork 286
Show sub-namespaces on namespace page #13
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -219,6 +219,23 @@ public function getNamespaceInterfaces($namespace) | |
| return $this->namespaceInterfaces[$namespace]; | ||
| } | ||
|
|
||
| public function getNamespaceSubNamespaces($parent) | ||
| { | ||
| $prefix = $parent; | ||
| if (strlen($prefix)) $prefix .= '\\'; | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You must always use |
||
| $len = strlen($prefix); | ||
|
|
||
| $subNamespaces = array(); | ||
|
|
||
| foreach ($this->namespaces as $sub) | ||
| { | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| if (substr($sub, 0, $len) == $prefix && strpos(substr($sub, $len), '\\') === false) | ||
| $subNamespaces[$sub] = $sub; | ||
| } | ||
|
|
||
| return $subNamespaces; | ||
| } | ||
|
|
||
| public function addClass(ClassReflection $class) | ||
| { | ||
| $this->classes[$class->getName()] = $class; | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| {% extends page_layout %} | ||
|
|
||
| {% from "macros.twig" import class_link %} | ||
| {% from "macros.twig" import class_link, namespace_link %} | ||
|
|
||
| {% block title %}{{ namespace }} | {{ parent() }}{% endblock %} | ||
|
|
||
|
|
@@ -12,7 +12,20 @@ | |
| {% endblock %} | ||
|
|
||
| {% block content %} | ||
| {% if namespaces %} | ||
| <h2>Namespaces</h2> | ||
| <table> | ||
| {% for subnamespace in namespaces %} | ||
| <tr> | ||
| <td>{{ namespace_link(subnamespace, {'target': 'main' }) }}</td> | ||
| <td class="last"> </td> | ||
| </tr> | ||
| {% endfor %} | ||
| </table> | ||
| {% endif %} | ||
|
|
||
| {% if classes %} | ||
| <h2>Classes</h2> | ||
| <table> | ||
| {% for class in classes %} | ||
| <tr> | ||
|
|
@@ -22,7 +35,7 @@ | |
| {% endfor %} | ||
| </table> | ||
| {% endif %} | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I guess this was added by mistake.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I found some issues with this PR, so I'm working on an alternative that I'll submit this weekend.
|
||
| {% if interfaces %} | ||
| <h2>Interfaces</h2> | ||
| <table> | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not just get the subnamespaces by parsing the namespace?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you elaborate? What information could I extract from the parent
namespace about the sub namespaces? You would need to walk the namespace
array to find it's children.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, this PR would close #119, providing a list of child namespaces on a namespace page.