一个文件中有多个PHP类

Fre*_*die 1 php caching class

我有多个PHP类,每个PHP文件大约有20个函数.一旦我包含这个文件,服务器会存储内存中的每个类和每个函数吗?

或者它只会在我实例化后加载类及其函数?:

$ajax = new ajax();
Run Code Online (Sandbox Code Playgroud)

或者服务器只缓存我专门调用的函数?:

$ajax->make_request();
Run Code Online (Sandbox Code Playgroud)

我想知道在一个单独的PHP文件中放置如此​​多的类和函数是否可以,或者我是否应该放入某种类型的逻辑,其中只包含作业所需的类和函数.

Pet*_*tah 8

我认为你对PHP的运作方式有点困惑.

每个请求PHP解析器,解析所请求的文件,例如 index.php

如果index.php include是另一个文件,PHP将解析该文件.

一旦PHP文件被解析,它就会在该请求期间以"字节代码"(几乎是机器语言)存储在内存中.

无论文件中有多少个函数或类,它都将存储在该内存中以供该请求使用.

像APC这样的扩展在请求之间将这些解析后的字节代码缓存在内存中,但是需要将它们添加到PHP上.

然而,对于您的类使用自动加载更好(在内存使用方面).

http://php.net/manual/en/language.oop5.autoload.php

PSR0是一组很好的自动加载类指南:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md