wclssdn / PHP-AOP-Framework

A mvc framework support aop for php.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PHP-AOP-Framework

A mvc framework support aop for php.

#Rewrite for nginx
RewriteEngine On
RewriteRule !^/htdocs/.*?(index.php(.*)|.*?\.(css|js|jpg|jpeg|gif|png|swf))$ /index.php/%{QUERY_STRING} [L]

#Rewrite for sae
- rewrite: if( path !~ "(index.php(.*)|.*?\.(css|js|jpg|jpeg|gif|png|swf))$" ) goto "/index.php/%{QUERY_STRING}"

Use

  • load a object $object = Ioc::loadObject('classname', array('arg1', 'arg2'));
  • call method $object->method('arg3', 'arg4');
  • call static method $result = Ioc::callStatic('classname', 'method');
  • add config to config/aop.conf.php
    'classname::method' => new AopConfig(
  		array(
  			new Filter('LogFilter', array(), 'start', array(), true),
  		), 
  		array(
  			new Filter('LogFilter', array(), 'end', array('___METHOD___'), true)
  		)
	), 

Process

  • ioc::loadOjbect('classname', array('arg1', 'arg2'));
  • $classobject = new classname('arg1', 'arg2');
  • $object = new ObjectProxy($classObject);
  • $object->__call(array($object, 'method', array('arg3', 'arg4')));
  • $aop = new Aop(array($object, 'method', array('arg3', 'arg4')));
  • $aop->execute();
  • $aopConfig = include 'config/aop.conf.php';
  • preg_match('#^classname$#i', 'classname') && preg_match('#^method$#i', 'method');
  • LogFilter::start();
  • $reslt = call_user_func_array($object, 'method', array('arg3', 'arg4'));
  • LogFilter::end('method');
  • return $result;

About

A mvc framework support aop for php.


Languages

Language:PHP 96.8%Language:JavaScript 3.2%