我试图使用Phalcon(它作为一个扩展,但我想通过源代码使用)。源代码是下载的,当然当我尝试运行时,它失败了,它找不到某些类。它在index。php中,所以我找不到自动加载这些类的方法。但是我有一个Composer,怎么说"嘿,从这里加载Phalcon目录?"我对作曲一窍不通。
要自动加载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 MyNameSpaceMyClass();
[file system]
root
|
-MyNameSpace
|
|-MyClass.php
|-OtherClass.php
|
-Namespace2
|
//other classes.
正如你所看到的,这里没有使用composer。Composer用于下载一些包,然后他会为您生成自动加载文件。