php oop - 每个类不同的文件?进口包裹?等等

Bob*_*rbo 12 php oop

我习惯在语言,如工作C#/ Java/ Python每个班将有自己的文件,并为看其他类,你会导入包含这些类的包.这是如何工作的php?文档向您展示了如何创建类,但我不明白它们如何在php上下文中组合在一起.我知道include语句,它基本上将文件粘在一起.

Áko*_*ázy 15

你可以使用__autoload

function __autoload($class_name) {
    include 'classes/'.$class_name . '.php';
}
Run Code Online (Sandbox Code Playgroud)

因此,将每个类放在classes文件夹中的自己的文件中.当您想要使用该类时,它将包含它.更多信息:http://php.net/manual/en/language.oop5.autoload.php

更新:当我回答这个问题时,它完全有效.现在它仍然可以工作,但请记住PHP.net从那以后说:

spl_autoload_register()为自动加载类提供了更灵活的替代方法.因此,不鼓励使用__autoload(),将来可能会弃用或删除.

  • 另请查看:http://www.php.net/manual/en/function.spl-autoload-register.php (2认同)

Kam*_*šík 5

最简单的方法:

  • 在“classes”目录中定义你的类
  • 初始化应用程序如下所示
  • 将类文件名命名为带有 .php 后缀的小写类名(MyClass => classes/myclass.php)

初始化代码:

set_include_path ( "./classes" );
spl_autoload_register ();

//class is automatically loaded from ./classes/myclass.php
$object_instance = new MyClass ();
Run Code Online (Sandbox Code Playgroud)