我正在尝试使用Phalcon(它可以作为扩展,但我想通过源代码使用)。下载源代码,当然当我尝试运行时,它会失败,它将找不到某些类。它位于index.php,所以我找不到自动加载这些类的方法。但我有一个Composer,怎么说“嘿,从这里加载Phalcon目录?”我是作曲家的诺布。
答案 0 :(得分:2)
要自动加载PHP类,您必须使用spl_autoload_register()
和(可选,如果不使用名称空间)PSR-2目录结构/命名(其中每个名称空间段表示系统中的文件夹)。
[autoload.php]
spl_autoload_register(function($className) {
$namespace = str_replace("\\","/",__NAMESPACE__);
$namespace = empty($namespace) ? "" : $namespace."/";
$className = str_replace("\\","/",$className);
$class = CORE_PATH."/classes/{$namespace}{$className}.php";
include_once($class);
});
[index.php]
include_once('/path/to/autoload.php');
$myClass = new MyNameSpace\MyClass();
[file system]
root
|
\-MyNameSpace
|
|-MyClass.php
|-OtherClass.php
|
\-Namespace2
|
//other classes.
正如您所看到的,没有使用作曲家。 Composer用于下载一些软件包,之后他将为您生成自动加载文件。