Minor【 PHP框架】6.代理,minorphp框架代理_PHP教程
Jul 12, 2016 am 08:50 AMMinor【 PHP框架】6.代理,minorphp框架代理
6.1 代理
Minor提供了一個類似于java中InvocationHandler接口和一個Proxy類的代理模式的實現(xiàn),具體可參考我的這篇文章:http://www.cnblogs.com/orlion/p/5350752.html
6.1.1 使用
<span>class</span> FooController <span>extends</span><span> Controller { </span><span>public</span> <span>function</span> bar(<span>$productName</span><span>) { </span><span>$log</span> = <span>new</span><span> LogHandler(); </span><span>$shop</span> = <span>new</span><span> Shop(); </span><span>$shopProxy</span> = Proxy::newProxyInstance(<span>$shop</span>, <span>$log</span><span>); </span><span>$shopProxy</span>->buy(<span>$productName</span><span>); } }</span>
<?<span>php namespace App\Lib; </span><span>use</span><span> Minor\Proxy\InvocationHandler; </span><span>class</span> LogHandler <span>implements</span><span> InvocationHandler { </span><span>public</span> <span>function</span> invoke(<span>$target</span>, \ReflectionMethod <span>$method</span>, <span>Array</span> <span>$args</span> =<span> []) { </span><span>$this</span>-><span>before(); </span><span>$result</span> = <span>$method</span>->invokeArgs(<span>$target</span>, <span>$args</span><span>); </span><span>$this</span>-><span>after(); </span><span>return</span> <span>$result</span><span>; } </span><span>public</span> <span>function</span><span> before() { </span><span>echo</span> '[LogHandler] before<br/><br/>'<span>; } </span><span>public</span> <span>function</span><span> after() { </span><span>echo</span> '[LogHandler] after<br/><br/>'<span>; } }</span>
<?<span>php namespace App\Lib; </span><span>class</span><span> Shop { </span><span>private</span> <span>$mail</span> = <span>null</span><span>; </span><span>public</span> <span>function</span> boot(MailProvider <span>$mail</span><span>) { </span><span>$this</span>-><span>mail</span> = <span>$mail</span><span>; } </span><span>public</span> <span>function</span> buy(<span>$productName</span><span>) { </span><span>echo</span> '[Shop] buy ' . <span>$productName</span> . '<br/><br/>'<span>; </span>!<span>is_null</span>(<span>$this</span>-><span>mail</span>) && <span>$this</span>-><span>mail</span>->send('DemoUser'<span>); } }</span>
?

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

php5? php8? ???? ??, ?? ??, ?? ???, ?? ??, ??? ?????, ?? ????? ?? ? ?? ???? ????. ??? ??: 1. ?? ?? PHP5? ???? PHP8? JIT ????? ???? ?? ??? ?? ??? ????? ????? ?? ??? ??????. PHP8?? ? ?? ??? ?? ??? ??? ???????. PHP8? ??? ????? ????? ???? ???? ?? ?? ???? ??? ??? ? ????.

php5?? ?? 80? ???? ??: 1. Apache ?? ?? ???? ?? ??? ?????. 2. PHP? ? ???? ????? PHP ?? ??? ?????. 3. Apache ??? ?? ???? PHP ?? ????? ?????. ? ???? ??? ?????.

php5? ?? 9000? ???? ?? ??? ?? ??: 1. PHP-FPM ?? ??? ?????. 2. PHP-FPM ???? ?? ?????. 3. ???? ??? ?? ??? ?????. 4. ?? ????? ?? 9000? ????? ?????.

PHP5? ??? ? ?? ???? ?? 9000? ??? ? ?? ??? ??? ? ????. ?? ? ??? ????? ?? ?? ? ?? ?? ??? ???? ???.

php7? php5? ?? ???? ??? ????. 1. PHP7? ??? ?? ??? ????? PHP5 ?? ??? ??????. 2. PHP7? ??? ?? ??? ????? PHP5? ???? ????. 3. PHP7? NULL ?? ???? ?????. PHP5? ??? ???? null? ??? ?????. ???? ???? ???. 4. PHP7? ??? ?? ??? "<=>"? ????? PHP5? ??? ????. 5. PHP5? ??? ??? ?? ???? ?????. ?? ????.

????? ????? ?? ??? 80?? PHP5 ??? ???? ?? ??? ??? ? ????. ? ??? ?? ??? ?? ? ???, ?? ??? ????? ?? ?????.

php7? 5 ??? ????? ?? ??, ??? ?? ??, ?? ? ?? ??, ?? ?? ??, ?? ???, ?? ??, ??? ???, ??? ?? ?? ? ?? ?? ?? ??? ?????. ?? ??: 1. ?? ?? PHP7? Zend Engine 3.0??? ??? Zend ??? ???? ??? ??? ??, ???? ?? ?? ? ?? ??? ?? PHP5? ??? ? 2? ???????. , ??? ??? ?? ?

PHP? ?? ????? ??????? ???? ? ?? ???? ??? ????? ?????. ???? PHP7? ??? ??? ?? ????. PHP7? ?? ??(?: PHP5)? ?? ?? ??? ???? ?????. ? ????? PHP7? PHP5? ?? ???? ???????.
