xenophy/fuel-ext-direct

FuelPHP Sencha Ext JS direct provider

Installs: 25

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:fuel-package

0.0.6 2016-02-19 06:44 UTC

This package is not auto-updated.

Last update: 2024-04-19 08:09:09 UTC


README

FuelPHP Sencha Ext JS direct provider

Install

composer require xenophy/fuel-ext-direct

Add setting to config.php

You should add fuel-ext-direct to 'always_load' -> 'packages' like a following

'packages'  => array(
    'orm',
    'auth',
    'fuel-ext-direct',
),

Copy to config

packages/extdirect/config/extdirect.php to your FuelPHP config directory.

How to use

You should make fuel/app/classes/direct directory, after that create like a following php classses.

<?php

class Direct_Foo {

    /**
     * bar
     *
     * @param $age
     * @param $sage
     *
     * @remotable
     * @formHandler
     */
    function bar($age, $sage) {

        return "result bar";
    }

}

Method Comments

When you would like to publish your class method, you should write method comment.

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.

API definitions

Firstly, maybe you should write "Direct Provider" in your Application.js.

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.

    "js": [
        {
            "path": "http://[your local develomnent host]/direct/api",
            "remote": true
        },
        {
            "path": "app.js",
            "bundle": true
        }
    ],
    

Conclusion

Please show your Sencha Ext JS Project via Sencha Cmd(jetty).

http://localhost:1841/

After that, please try following JavaScript code in Developer Console.

Foo.bar("age", "sage", function(result) {
  console.log(result);
});

Maybe you can see "result bar" message.

Enjoy yourself!