![](/img/trans.png)
[英]PhalconPHP - Cannot load controllers if they are namespaced with Loader
[英]PhalconPHP - registerPrefixes in loader
我正在嘗試將我的lib文件夾拆分為幾個文件夾。 我認為自動加載器中的前綴應該是代碼編寫和性能之間最平衡的方法。 問題是我需要重命名每個文件和其中的每個類名,以使其與包含前綴的名稱匹配。
之前:
-app
----lib
-------Class1.php
-------Class2.php
-------Class3.php
在必須如何工作之后:
-app
----lib
--------general
-----------General_Class1.php
-----------General_Class2.php
--------app
-----------App_Class3.php
在我希望它成為之后:
-app
----lib
--------general
-----------Class1.php
-----------Class2.php
--------app
-----------Class3.php
現在要注冊這些前綴,我正在使用以下代碼:
// Register some prefixes
$loader->registerPrefixes(
array(
"App_" => $config->application->libraryDir . "app/",
"General_" => $config->application->libraryDir . "general/",
)
);
$loader->register();
$server = new App_Class3();
echo $server->testMethod('test');
是否可以使用例如App_Class3調用某些類,但無需在內部重命名文件和類名(使用prefixs方法或類似方法)?
Phalcon的裝載機可以做到這一點。 在Phalcon的docs中對此進行了解釋。
您只需像在名稱空間中一樣在加載器中注冊前綴。
<?php
use Phalcon\Loader;
// Creates the autoloader
$loader = new Loader();
// Register some prefixes
$loader->registerPrefixes(
array(
"Example_Base" => "vendor/example/base/",
"Example_Adapter" => "vendor/example/adapter/"
));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.