Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建库_Php_Oop - Fatal编程技术网

Php 如何创建库

Php 如何创建库,php,oop,Php,Oop,我有一些代码,我想组织成一个类或库,以便其他开发人员在他们的网站上更容易地使用 我现在使用这个类的方式是实例化它的一个实例,并开始调用我需要的函数 $class_object = new MyClass(); $class_object->myFunction(); 这基本上就是我制作一个库所需要的全部,还是我需要做进一步的更改才能将其变成一个库?这在很大程度上取决于您提供的功能。如果库只是一组函数,那么最好将它们设置为静态: class MyLib { public stat

我有一些代码,我想组织成一个类或库,以便其他开发人员在他们的网站上更容易地使用

我现在使用这个类的方式是实例化它的一个实例,并开始调用我需要的函数

$class_object = new MyClass();
$class_object->myFunction();

这基本上就是我制作一个库所需要的全部,还是我需要做进一步的更改才能将其变成一个库?

这在很大程度上取决于您提供的功能。如果库只是一组函数,那么最好将它们设置为静态:

class MyLib 
{
    public static function convertData( $data )
    {
        // Do something
    }
}

但是,如果它依赖于实例化的对象以及该对象中存储的信息,那么我会保持原样。这完全取决于您如何使用它。

除了您已经在做的事情之外,PHP没有任何关于库的概念。如果您想抽象它(确保它在您的应用程序之外工作)并将其移动到一个单独的文件/目录中,您可以这样做,但这并不比通常更符合作为库的条件


不过我会注意到,有些框架使用术语库作为特定的东西,但恐怕您必须查看各个框架的文档。

据我所知,是的。但您确实需要使您的库与公认的自动加载标准兼容。这样,开发人员就可以简单地将它放入他们的系统中并开始使用它


这取决于你的图书馆到底是什么。如果您正在描述一个可以具有属性和方法的对象,并且所有操作都与该对象相关,那么类是一个很好的解决方案


如果您只有一组函数,并且可以假设用户将使用PHP5.3+,那么您可以根据您的需要在下定义它们。

。基本上。。。你想学习PHP的OOP吗?看看吧,我知道如何从我使用的框架(如Symfony和Zend)自动加载,但我认为我从来都不需要自动加载外部库。如果我不使库与公认的自动加载标准兼容,会发生什么?开发人员不能将其保存在路径中的某个位置,创建一个实例并开始使用它吗?如果它与autoloader不兼容,他们将不得不使用require()或include()手动加载它。如果是的话,他们可以把它放到lib目录中,它就可以正常工作了。