FuelPHP Sencha Ext JS direct provider
FuelPHP Sencha Ext JS direct provider, (*1)
composer require xenophy/fuel-ext-direct
You should add fuel-ext-direct to 'always_load' -> 'packages' like a following, (*2)
'packages' => array( 'orm', 'auth', 'fuel-ext-direct', ),
packages/extdirect/config/extdirect.php to your FuelPHP config directory., (*3)
You should make fuel/app/classes/direct directory, after that create like a following php classses., (*4)
<?php class Direct_Foo { /** * bar * * @param $age * @param $sage * * @remotable * @formHandler */ function bar($age, $sage) { return "result bar"; } }
When you would like to publish your class method, you should write method comment., (*5)
This package will provide to Sencha Ext JS only @remotable in method comment. So, when you would like to use method as "Form Handler", Please write @formHandler in your method comment., (*6)
Firstly, maybe you should write "Direct Provider" in your Application.js., (*7)
requires: [ 'Ext.direct.*' ], launch: function () { Ext.direct.Manager.addProvider(Ext.REMOTING_API); },
Next, you should add following settings in in your app.json. "path" is your local develoment host url using FuelPHP., (*8)
"js": [ { "path": "http://[your local develomnent host]/direct/api", "remote": true }, { "path": "app.js", "bundle": true } ],
Please show your Sencha Ext JS Project via Sencha Cmd(jetty)., (*9)
http://localhost:1841/
After that, please try following JavaScript code in Developer Console., (*10)
Foo.bar("age", "sage", function(result) { console.log(result); });
Maybe you can see "result bar" message., (*11)
Enjoy yourself!, (*12)