fmihel / ajax-plugin-session
php,session,plugin, ajax
Installs: 807
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:JavaScript
Requires
- fmihel/ajax: 1.*
- smoren/mushroom-hook-manager: ^1.0
README
session plugin for fmihel/ajax solution see and install https://github.com/fmihel/ajax
1. Install plugin
2. Simple use
3. API
Install plugin
$ npm i fmihel-ajax-plugin-session $ composer require fmihel/ajax-plugin-session
run script for remove js files from vendor path
$ cd ./vendor/fmihel/ajax-plugin-session && ./composer-after-install.sh && cd ../../../
Simple use
file struct
path
|-server
| |-session
| | |-MySession.php
| |-mod.php
|-index.php
|
|-client
|-index.js
|-session.js
client/index.js
import ajax from 'fmihel-ajax'; import session from './session.js'; session.autorize({ login:'1', pass:'1', }) .then(()=>{ return ajax::send({ to:'server/mod', data:{ msg: 'send msg to server',any_num:10,arr:[1,32,4,2]}, }) }) .then((data)=>{ console.info(data); return session.logout(); }) .catch((e)=>{ console.error(e); });
client/session.js
import ajax from 'fmihel-ajax'; import Session from 'fmihel-ajax-plugin-session'; export default ajax.addPlugin(new Session(ajax));
server/session/MySession.php
<?php use fmihel\ajax\plughin\session\SessionDefault; class MySession extends SessionDefault{ function __construct() { $this->users = [ ['id' => '1', 'login' => '1', 'pass' => '1', 'sid' => '3992', 'rights' => ['admin']], ['id' => '2', 'login' => '2', 'pass' => '2', 'sid' => '3993', 'rights' => ['manager']], ]; } }
index.php
<?php require_once __DIR__ . '/vendor/autoload.php'; require_once __DIR__ . '/server/session/MySession.php'; use fmihel\ajax\ajax; use fmihel\ajax\plugin\session\SessionPlugin; if (ajax::enabled()) { try { ajax::init([ 'plugins' => [ new SessionPlugin('MySession'), ] ]); require_once ajax::module(); ajax::done(); } catch (\Exception $e) { ajax::error($e); }; };
server/mod.php
<?php use fmihel\ajax; error_log(print_r(ajax::$data,true)); ajax::out('hi, from server');
API
server/php
class SessionPlugin
client/javascript
class Session