views:

53

answers:

2

I was trying to get a good hold on Zend Framework API but it proved quite challenging with Modules, Models, Controllers, Views, Actions, ActionHelpers, ViewHelpers, Decorators, and addon libraries like ZendX_JQuery.
That's excluding the 50+ other components !

So I thought a bit about visual (diagrammatic) API navigation.
What I mean is that you can visually browse from classA.memberM to the classB.memberN.
This would be the answer to the question:
What members of which classes will be needed to use classB.memberN, given that I have with me classA.memberM?
Another question would be not from class.member to class.member but from concept to class.member:
I want to do X activity (normal english description), so I would need class.member __?
This would probably be a single item answer, but generically a multi-step procedure. So considering a "path" through the "class-node space" so to say, makes sense.

I also noticed that you need only a simple SQL table structure to store the paths linkages to create a neat visual map.
SQL/RDBMS because a PHP-MySQL app is a useful approach for obvious reasons - more people will use it and study it and produce better ideas for visual documentation, although PHP may be a bad tool according to some.

Table "Members"(or "Nodes") : (id, memberName, className)  
Table "Paths": (pathid, srcNode, destNode) /* node is class.member */
Table "Links": (linkid, fromNodeId, toNodeId, serialNumInPath)

I have seen Doxygen being used for such things but it makes diagrams of classes, IIRC.
I dont recollect having seen any web app with an interface of this type.

Just to specify, I'm guessing a UI like this:

If you want to [_________] you should use [submit] :

(A diagram with nodes that are classes and members linked in order of steps like this...)

Some_Action -> Some_View -> View_Helper -> Foo -> Bar

Any idea if such a thing exists?

Please note that this is not the full design document and so it may sound silly on first glance :-)
But I would appreciate it greatly if such website existed where I would just have to enter a keyword and get a simple path through the API.
There do exist source code analysis tools but not everyone uses them and definitely not people new to a framework.

(I'll add this for hateballs:
Lots of people don't refer to the API because it overwhelms them and I agree that they are lowly creatures who do not deserve any attention because of that. Those people would positively love this. A picture speaks a thousand words. )

A: 

Here's an image of processing a request. Can't tell if it still applies (copyright notice states 2007-2008.)

chelmertz
A: 

@chelmertz I hope it works. This makes it so much easier to understand. Where did u find it?

Anthony
what are you shouting for?This is routin, *business as usual*I believe one must be given a chance to explain before down-voting, unless one has been wrong about it **throughout**.
namespaceform