作者tkdmaf (皮皮快跑)
看板PHP
标题Re: [请益] PHP不需要include就能用别的php档的类别?
时间Wed Aug 9 14:27:56 2017
: 推 BIAO: 首先谢谢t大的解释,那麽我确认一下您说的... 08/09 13:41
: → BIAO: 那些子类别所在的php档及父类别的php档都是被另外的php档所 08/09 13:42
: → BIAO: 呼叫的,这样子不晓得我理解有没有错误呢? 谢谢。 08/09 13:43
: → BIAO: 我称之为「另外的php档」是因为PHP好像没有所谓的主程式? 08/09 13:44
: → BIAO: 应该说...我从书上看到的内容得到资讯是网页没有一定要从 08/09 13:45
: → BIAO: 哪一个php档来当做入口.只要知道档名输入就能跑出页面. 08/09 13:46
: → BIAO: 再次谢谢您的热心协助^^ 08/09 13:46
: 推 BIAO: 另外想再请问一下,除了您说的autoload的方式外,不晓得 08/09 13:51
: → BIAO: Apache有没有可能做设定,让每个网页都能自动识别某个Class 08/09 13:51
: → BIAO: ,有点像是将该Class的路径指定成为PHP内建Library的形式XD 08/09 13:51
: → BIAO: 蛮异想天开的,只是想和前辈再厘清一点状况,感恩:) 08/09 13:52
只要知道档名就能跑出页面是以前的做法。
现在基本上只会有一个唯一入口的档案会放在开放权限的资料夹。
其他的档案所放的资料夹都是不允许外部直接访问的。
不然可以随意访问就有可能被随意注入不当的内容。
然後都会基於路由参数来决定要呼叫执行的class是那一只。
另外,class的作用是基於php编译器。
这跟apache没有任何关系吧。
(看看Laravel的php artisan serve,不需要apache也能执行php环境)
而且autoload的目的是在於有需要才去做载入。
如果全部的class都要识别,甚至是预载入,那会造成资源的浪费。
因为有可能你载入了结果却没使用他。
php之所谓没有一定的入口,就是原本的松散结构。
现在都会基於唯一的index.php做为整个功能的入口。
所有的功能都必须走过这个index.php
再经由内部的route去判别路由参数来决定要跑的controller(class)。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.231.130.24
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1502260079.A.CE6.html
1F:推 BIAO: 太棒啦!讲了许多专有名词,谢谢您不吝赐教~获益良多。 08/09 14:33
2F:→ BIAO: 我会去研究您所说的项目,尤其是单一入口 :) 08/09 14:33
3F:推 kroutony: mvc,framework,modern php,autoloader,composer,psr-4 08/17 23:51