为了账号安全,请及时绑定邮箱和手机立即绑定

是不是版本的问题

不知道是不是版本的问题  

Env::get 提示不是静态方法 

于是用了实例化再调用方法 

$env = new  Env();

$env->get()  这样就可以


还有  thinkphp文件夹中的base.php  并没有像老师视频中的定义很多常量  而且也没有start.php  纳闷ing....

正在回答

2 回答

因为ThinkPHP5.1多了一个facadel类

门面(Facade)为容器中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个facade类。

系统已经为大部分核心类库定义了Facade,所以你可以通过Facade来访问这些系统类,当然也可以为你的应用类库添加静态代理。

只要这个类库继承think\Facade,就可以使用静态方式调用动态类app\common\Test的动态方法,例如上面的代码就可以改成:

// 无需进行实例化 直接以静态方法方式调用hello
echo \app\facade\Test::hello('thinkphp');

结果也会输出 hello,thinkphp。

说的直白一点,Facade功能可以让类无需实例化而直接进行静态方式调用。

参考网址http://www.php.cn/manual/view/32830.html,ThinkPHP5.1核心Facade类库相关


1 回复 有任何疑惑可以回复我~

http://www.php.cn/manual/view/32819.html这是ThinkPHP5.1完全开发手册

http://www.thinkphp.cn/extend/1017.html这是官网可下载的ThinkPHP5.0完全开发手册,

可以对比看下自己的版本,5.1和5.0还是有点不一样的尤其在环境变量配置这块,视频教程应该是ThinkPHP5.0的,建议可以对比完全开发手册的配置基础看下(一般有实例代码可供参考)

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

是不是版本的问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号