关于自动加载的问题

关于自动加载的问题

请问老师这里我们只给了命名空间和目录的映射,可是并没有给具体文件,那么它是如何找到这个类是在哪个文件中的呢???
 http://img1.sycdn.imooc.com//climg/5ce8a88400013c5c08460244.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

6回答
提问者 雨之赞歌 2019-05-28 09:23:42

关于 use 我已经重温过了,那老师你告诉我为什么这样找不到 Users 类

http://img1.sycdn.imooc.com//climg/5cec8d510001059e04430372.jpghttp://img1.sycdn.imooc.com//climg/5cec8d57000199db04820360.jpg
http://img1.sycdn.imooc.com//climg/5cec8d6e000169f015900304.jpg

  • 您好,同学代码并没有配合自动加载使用,面向对象课程中是配合的自动加载函数使用。而我们本节课在composer中已经设置了自动加载。同学自己在回答中已经截过图。祝学习愉快!
    2019-05-28 09:52:51
提问者 雨之赞歌 2019-05-27 17:16:46

我的问题就在于此:(老师给的链接中提到的)

http://img1.sycdn.imooc.com//climg/5cebaaae00017e5907330057.jpg

在我之前的截图中,并没有引入包含这个类的文件不是么?可还是找到了,这是为什么?

  • 您好,users中设置了命名空间namespace App\Models;。现在的命名空间是App\Controllers,那么此时使用命名空间下 App\Models\Users是可以找到这个类的。同学可以在回顾下《面向对象》课程中对于命名空间的讲解。祝学习愉快!
    2019-05-27 19:30:45
提问者 雨之赞歌 2019-05-27 15:20:34

我还是想问问为什么这里第二个红框的地方能找到getUsername() ?? 
这个文件里并没有引入 autoload.php 吧?? 是只要入口文件引用 autoload.php 就行了??
http://img1.sycdn.imooc.com//climg/5ceb8f330001e46f07820599.jpg

  • 提问者 雨之赞歌 #1
    为什么 use App\Models\Users 能找到Users类呢?
    2019-05-27 15:39:24
  • 好帮手慕查理 回复 提问者 雨之赞歌 #2
    您好,这里可以使用getUsername()是因为实例化了Users。use为什么能找到Users类,同学可以参考https://blog.csdn.net/yjreset/article/details/79202068了解use的使用,从而理解use 命名空间\类的使用。祝学习愉快!
    2019-05-27 17:09:50
好帮手慕查理 2019-05-26 10:34:59

您好,代码中设置了自动加载,会自动加载类。

不引入autoload.php是因为已经使用了Users类。

http://img1.sycdn.imooc.com//climg/5ce9faf10001fe8402120037.jpg

/表示的是Controllers目录下,和Models目录下。

祝学习愉快!

  • 提问者 雨之赞歌 #1
    当我们要去调用 UserController类中的getUser方法时,由于index.php中已经引入了自动加载文件,所以会去自动找到getUser方法,可是这里我们又要去调用Models层中的类,虽然用 use 引入Users,但是没有引用自动加载文件,应该是找不到这个类在哪儿的吧? 能不能请老师解释下
    2019-05-27 09:39:26
  • 好帮手慕查理 回复 提问者 雨之赞歌 #2
    您好,在mvc中Controller截获用户发出的请求;Controller调用Model完成状态的读写操作; Controller把数据传递给View; View渲染最终结果并呈献给用户。所以并不需要在index.php进行Model的操作,而在Controller中use\Models\users则可以实例化users类,使用其内部的函数。祝学习愉快!
    2019-05-27 14:09:34
提问者 雨之赞歌 2019-05-25 11:48:36

还有个问题:
这里的转发请求为什么不用引入 autoload.php 文件呢??

http://img1.sycdn.imooc.com//climg/5ce8bada0001ce9a07580633.jpg

提问者 雨之赞歌 2019-05-25 11:15:06

另外这个路径部分为什么后面要加个 / 
http://img1.sycdn.imooc.com//climg/5ce8b32a00018f7a05420288.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师