如何使用 Composer 自动加载 Phalcon 类?
How to use Composer to autoload Phalcon classes?
我正在尝试使用 Phalcon(它作为扩展使用,但我想通过源代码使用)。源已下载,当然我尝试运行时失败了,它找不到某些类。它位于 index.php,所以我找不到自动加载那些 类 的方法。但是我有一个作曲家,怎么说"Hey, load Phalcon directory from here?"我对作曲家一窍不通
要自动加载 PHP 类,您必须使用 spl_autoload_register()
和(如果不使用命名空间,则可选)PSR-2 目录 structure/naming(其中每个命名空间段表示文件夹系统)。
[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 用于下载一些包,然后他会为您生成自动加载文件。
我正在尝试使用 Phalcon(它作为扩展使用,但我想通过源代码使用)。源已下载,当然我尝试运行时失败了,它找不到某些类。它位于 index.php,所以我找不到自动加载那些 类 的方法。但是我有一个作曲家,怎么说"Hey, load Phalcon directory from here?"我对作曲家一窍不通
要自动加载 PHP 类,您必须使用 spl_autoload_register()
和(如果不使用命名空间,则可选)PSR-2 目录 structure/naming(其中每个命名空间段表示文件夹系统)。
[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 用于下载一些包,然后他会为您生成自动加载文件。