我正在尝试创建一个包含一组函数的库。在我看来,我希望我的表单能够访问一个函数并执行它。下面是我的php文件,我放在App / Lib文件夹
myClass.php:
class myClass{
public function someFunction(){
$parentPage =$this->referer();
//do something
$this->redirect($parentPage);
}
}
然后,在我看来,我有一个表单(我没有使用表单助手(我也不想),我想要访问我的库类,并运行,并重定向到给定页面(在此示例中,但问题是,蛋糕总是试图在控制器文件夹中的控制器中找到该函数。如何告诉表单使用控制器文件夹外的类?
我的观点:
<form id="login-user" action="/Lib/myClass/someFunction" method="post">
//form stuff here
</form>
但是我找不到错误。
这是否能够完成?
答案 0 :(得分:0)
你可以告诉蛋糕你要从哪个文件夹路径调用你的视图。
把它放在你的引导程序中 App :: build(array('View'=&gt; array($ my_lib_folder_path.DS)));
这里是我建立的片段,让蛋糕搜索我的视图文件夹中的所有文件夹。因为我喜欢在文件夹中安排我的代码。即 查看/ CompanyManagement / AddCompanies / index.ctp 查看/ CompanyManagement / EditCompanies / index.ctp 查看/ CompanyManagement / DeleteCompanies / disable.ctp 视图/ CompanyManagement / DeleteCompanies / delete.ctp
我的代码告诉蛋糕搜索我的视图文件夹下的所有文件,并查看子文件夹以查找我想要的特定视图。但从搜索中排除布局,元素和帮助文件夹。
应用程序/配置/ bootstrap.php中
define('ELEMENTS', APP.'View'.DS.'Elements');
define('HELPERS', APP.'View'.DS.'Helper');
define('LAYOUTS', APP.'View'.DS.'Layouts');
define('VIEWS', APP.'View'.DS)
includeViews();
function includeViews() {
App::uses('Folder', 'Utility');
$folder = new Folder(VIEWS);
$folders_paths = current($folder->read($sort = true, $exceptions = false, $fullPath = true));
foreach( $folders_paths as $folder_path ) {
$isAHelperPath = (new Folder($folder_path))->inPath(HELPERS);
$isALayoutPath = (new Folder($folder_path))->inPath(LAYOUTS);
$isAnElementPath = (new Folder($folder_path))->inPath(ELEMENTS);
if ( ! $isAHelperPath && ! $isALayoutPath && ! $isAnElementPath ) {
App::build(array('View' => array( $folder_path.DS )));
}
}
}