[英]PHP - Extension vs. Library vs. Class - when and why
我正在尝试完成一项任务,结果证明我需要的代码打包为PHP 扩展 ,根据我所说的,我必须拥有root权限才能安装它(我在共享主机上这有点问题。
我稍后会解决这个问题,但是现在我试图理解扩展,库和类之间的区别。 它是否更像是一种可以以不同的方式覆盖和重新包装的包装物,或者它背后是否存在有效的架构推理?
同样在发布自己的代码时,是什么让你决定发布库与类对比扩展? 或者你跟哪个听起来更好?
提前致谢。
PS如果你必须知道我正在谈论哪个扩展,那就是Libpuzzle ,但这真的不是重点,我的问题更为笼统。
扩展是用C编写的代码,它将在PHP启动时包含在PHP核心中。 通常,在包含扩展名后,您可以使用更多本机功能。 例如拉链功能。
类是PHP代码的抽象pice,它解决了常见的任务。 例如发送电子邮件。 你可以在pear.php.net找到一些常用的课程。
库是PHP类的集合,用于解决更多通用任务,例如构建HTML表单和发送电子邮件。 Zend Framework是一个由许多PHP类组成的框架。
通常,扩展功能可以用PHP编程。 例如PEAR :: Compat类 。 通常,您会发现作为PHP类所需的功能。 我确信stackoverflow读者会为您提供在哪里找到特定PHP类的想法。
一些库(包括libpuzzle)也包含一个命令行工具。 因此,如果由于您的共享托管环境而无法使用PHP库,那么您可以编译命令行工具。 然后你可以使用类似exec的东西从PHP运行它。 它会比库慢,需要更多内存,但它可能会完成工作。 当然,许多主机也对exec这样的命令有限制,所以这可能也行不通。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.