扫码关注官方订阅号
get();
我想实现像 Laravel Facades 一样的用法,load.php怎么写?
load.php
闭关修行中......
你需要自行实现一个Facade对象,把所有的方法调用代理到真实的对象。
class UserFacade { private $user; public function __constructor() { $this->user = new User(); } public function __callStatic($name, $arguments) { return call_user_func_array(array($this, $name), $arguments); } }
$user UserFacade::get();
任何对UserFacade的静态方法调用都会代理到User。__callStatic在有静态调用的时候触发,传入的参数$name是UserFacade::get静态调用的方法名,$arguments是参数的数组。
__callStatic
UserFacade::get
Laravel官方描述Facade是简洁的、容易记忆的类调用,Laravel的特性基本都提供Facade类。在业务开发这个层面,我不推荐静态类调用的设计方式,这个我另外开个帖子讨论。
参考
https://laravel.com/docs/5.4/...
http://php.net/manual/en/lang...
http://php.net/manual/en/func...
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你需要自行实现一个Facade对象,把所有的方法调用代理到真实的对象。
任何对UserFacade的静态方法调用都会代理到User。
__callStatic在有静态调用的时候触发,传入的参数$name是UserFacade::get静态调用的方法名,$arguments是参数的数组。Laravel官方描述Facade是简洁的、容易记忆的类调用,Laravel的特性基本都提供Facade类。在业务开发这个层面,我不推荐静态类调用的设计方式,这个我另外开个帖子讨论。
参考
https://laravel.com/docs/5.4/...
http://php.net/manual/en/lang...
http://php.net/manual/en/func...