compared with
Current by Steven Brown
on Feb 07, 2008 17:20.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (31)

View Page History
{note:title=Under Construction}
<ac:macro ac:name="note"><ac:parameter ac:name="title">Under Construction</ac:parameter><ac:rich-text-body>
<p>This proposal is under construction and is not ready for review.</p></ac:rich-text-body></ac:macro>
{note}

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[{zone-template-instance:ZFDEV:Zend Proposal Zone Template}

{zone-data:component-name}

{zone-data:operation}
* The developer will set up actions classes/methods and register these in the "functions" list
* Zend_Apjax outputs Javascript code with the view that creates a Javascript object that provides access to the server-side functions
* The developer calls methods of the Javascript object using Javascript code where necessary

{zone-data:milestones}
Describe some intermediate state of this component in terms of design notes, additional material added to this page, and / code. Note any significant dependencies here, such as, "Milestone #3 can not be completed until feature Foo has been added to ZF component XYZ." Milestones will be required for acceptance of future proposals. They are not hard, and many times you will only need to think of the first three below.
* Milestone 1: [design notes will be published here|http://framework.zend.com/wiki/x/sg]
* Milestone 1: Design notes completed
* Milestone 2: Working prototype checked into the incubator supporting use cases #1, #2, ... allowing client to call server-side functions
* Milestone 3: Working prototype checked into the incubator supporting use cases #3 and #4. allowing server-side functions to call client-side functions
* Milestone 4: Working prototype checked into the incubator allowing server-side functions to call custom client-side code
* Milestone 45: Unit tests exist, work, and are checked into SVN.
* Milestone 56: Initial documentation exists.

If a milestone is already done, begin the description with "\[DONE\]", like this:
* Milestone #: \[DONE\] Unit tests ...
{zone-data}

{zone-data:class-list}
* Zend_Magic_Exception Zend_Apjax_Exception
* Zend_Magic (factory class)
* Zend_Magic_MindProbe Zend_Apjax
* Zend_Magic_MindProbe_Intent Zend_Apjax_Function
* Zend_Magic_Action Zend_Apjax_Client
* Zend_Magic_CodeGen
{zone-data}

{zone-data:use-cases}
||UC-01||
Registering a sever-side "function":

... (see good use cases book)
{code}
Zend_Apjax::register('functionName', 'someClass', 'someMethod', $argumentNames);
Zend_Apjax::register('functionName', new Zend_Apjax_Function('someClass', 'someMethod', $argumentNames));
{code}

Calling a client-side function from a server-side function:

{code}
Zend_Apjax_Client::call('someFunction', $arguments);
{code}

Client-side Javascript calling a sever-side function:

{code}
Zend_Apjax::someFunctionName(argument1, argument2...);
{code}
{zone-data}

{zone-data:skeletons}
{code}
class Zend_Magic_Exception Zend_Apjax_Exception extends Zend_Exception {}

class Zend_Magic {
class Zend_Apjax {}
...
class Zend_Apjax_Function {}

class Zend_Apjax_Client {}
{code}
{zone-data}

{zone-template-instance}
{zone-template-instance}]]></ac:plain-text-body></ac:macro>