Re: [请益] PHP不需要include就能用别的php档的类别?

楼主: tkdmaf (皮皮快跑)   2017-08-09 14:27:56
: 推 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)。
作者: BIAO (超越自己)   2017-08-09 14:33:00
太棒啦!讲了许多专有名词,谢谢您不吝赐教~获益良多。我会去研究您所说的项目,尤其是单一入口 :)
作者: kroutony (bingbing)   2017-08-17 23:51:00
mvc,framework,modern php,autoloader,composer,psr-4

Links booklink

Contact Us: admin [ a t ] ucptt.com